数据结构与算法关系
算法:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
算法特性:
1. 输入输出:零个或多个输入,至少有一个或多个输出。
2. 有穷性
3. 确定性
4. 可行性
对算法设计要求:
1. 正确性
2. 可读性
3. 健壮性
算法的度量方法:事后统计方法(不科学也不准确)、事前分析估算方法。
算法时间复杂度:
推导大O阶方法:1表示常数,只保留最高阶项,去除非1的系数。
大O阶方法:
- 常数阶
- 线性阶
- 对数阶
- 平方阶
- 立方阶
- 指数阶
其大小排列时:
O(1)–>O(logn)–>O(n的平方)–>O(n的立方)–>O(2的n次方)–>O(n!)–>O(n的n次方)
算法空间复杂度。
最坏情况和平均情况。