目录
基本概念
-
数据
-
数据元素、数据结构
-
数据类型、抽象数据类型(ADT)
三要素
1.逻辑结构
基本:
- 集合结构
- 线性结构
- 树形结构
- 图状结构(网状结构)
分类:
- 线性结构
- 非线性结构
2.数据的运算
定义:针对数据的逻辑结构
实现:针对数据的存储结构
3.物理结构(存储结构)
顺序存储
非顺序存储
算法
-
基础
产生
程序=数据结构+算法
特性
- 有限性
- 确定性
- 可行性
- 输入
- 输出
“好”算法特质:
正确、可读、健壮、高效(时间复杂度低)低耗(空间复杂度低)
-
性能
时间复杂度T(n)
如何计算?
- 忽略顺序执行的代码 ,因为其只影响常常数
- 只挑选一个循环中的基本操作
- 若存在多层嵌套,只关注最深层循环的次数
常用技巧:
从优至劣 常对幂指阶
三种复杂度:
最好、最坏、平均(所有输入的数据等概率)
空间复杂度S(n)
何如计算?
递归调用的次数