算法
背景:计算资源有限,输入数据量大,不同算法所耗费的时间不同
衡量指标:基本指令(算术指令、数据移动指令、控制指令)的数量
时间复杂度:输入数据n的具体函数 T(n)=3n+2
复杂度的常用表示:大O表示法 T(n)=O(n)
学习路线
应用目的 | 实现策略 |
---|
搜索 | 暴力法 |
排序 | 增量法 |
字符串 | 分治法 |
图 | 贪心算法 |
最优化 | 动态规划法 |
数学 | 回溯算法和分支限界法 |
经典算法
- 二分查找
- 快速排序、归并排序
- KMP指针
- 双指针
- Prim 和Kruskal算法
- Dijkstra算法
- 模拟退火算法、蚁群算法、遗传算法