学数据结构和算法到底在学什么
- 如果利用数据结构把现实世界中的对象信息化;
- 如果利用计算机高效的处理这些信息并创造价值;
程序的三要素
程序 = 数据结构 + 算法
逻辑结构(数据结构) | ①集合;②线性结构;③树型结构;④图型结构 |
物理结构(存储结构) | ①数组;②链表;③其他 |
计算过程(算法) | ①查找;②排序;③其他 |
算法的特性
- 又穷性、确定性、可行性、输入、输出
复杂度
计算方式
- ①找到一个基本操作
- ②分析这个基本操作的执行次数x与问题规模n的关系x=f(n)
- ③x的数量级O(x)就是算法的时间复杂度T(n)
类型
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!)
时间复杂度
- 最坏时间复杂度
- 平均时间复杂度
- 最好时间复杂度
空间复杂度
程序运行时占用的内存空间大小