算法分析
- 算法分析
科学方法
- [ ] 细致的观察真实世界的特点
- [ ] 根据观察结果提出假设模型
- [ ] 根据模型预测未来的事件
- [ ] 继续观察并核实预测的准确性
- [ ] 反复直到确认预测和观察一致
一般程序算法设计与模型确定:
1. 确定输入模型,定义问题的规模
2. 识别内循环
3. 根据内循环中的操作确定成本模型
4. 对于给定的输入,判断操作,进行数学分析
书中罗列了一些算法分钟的常见函数与近似函数,参考书中185页,表1.4.5和1.4.6
实现算法时会使用结构性的语句,增长成本的分类
| 描述 | 增长的数量级 | 说明 | 举例 |
| -------- | ----- | ---- | |
| 常数级别 | 1 |普通语句 | 两个数相加 |
| 对数级别 | logN |二分策略 | 二分查找 |
|线性级别 |N |循环 | |找出最大元素|
|平方级别 |$$N^2$$ | 双层循环 | 检查所有元素对 |
|立方级别|$$N^3$$|三层循环|检查所有三元组|
|指数级别|$$2^N$$|穷举查找|检查所有子集|