一、程序 = 数据结构 + 算法
- 数据结构
1-1:逻辑结构
集合结构、线性结构、树形结构、图形结构
1-2:物理结构(存储结构)
顺序存储、链式存储 - 算法
2-1:算法特点
有穷性(通过有限次计算可以结束该程序)、确定性、可行性、输入、输出(至少一个输出)。
2-2:算法设计要求
正确性、可读性、健壮性、效率高与低存储量需求(例如女朋友干活勤快但是吃得少) - 时间复杂度
高效率是指算法执行的时间短耗费的资源少。指程序运行的次数
常用时间复杂度:
(1)常数阶:O(1)
(2)对数阶:O(log2 n)
(3)线性阶:O(n)
(4)线性对数阶:O(n log2 n)
(5)平方阶:O(n^2)
(6)立方阶:O(n^3)
(7)k次方阶:O(n^k)
(8)指数阶:O(2^n)
n越大,时间复杂度越大。 - 空间复杂度
程序运行所消耗的存储空间
时间复杂度和空间复杂度传送门