算法设计
一、分析
1. 上下界
-
上界O
- 最坏情况、时间上限
-
紧致界Θ
- 一般
-
下界Ω
- 最好情况、时间下限
2. 求Tn
-
循环
-
递归式
-
Proof by Induction
-
Substitution
-
changing variables
-
The Construction of a Recursion Tree 递归树
- 层次
- 如何递归式→递归树
-
3. 主定理 master method
- RAM模型
- 3种情况
二、设计
1. 排序
-
基于比较的排序
-
插入
-
归并
-
堆排序
-
快速排序
-
-
线性时间复杂度
- 计数
- 基数
- 桶
2. 动态规划
-
4个步骤
-
五个例子
- 流水线
- 矩阵相乘
- LCS(不常考)
- 0-1背包
- Max Sum
3. 贪心
- 分数背包
- huffman
4. 图
-
最短路径
-
sing-soure 单源点
- dijkstra
- bellman-ford
-
all-pairs 多源点
-
floyd-warshall
- 画出c0、c1、c2、c3 和 answer
-
-
5. other
-
回溯法
-
考点
- 利用树的【深度遍历 DFS】
-
八皇后
-
-
分支限界法
-
考点
- 利用树的【广度遍历 BFS】
-
LCS最小代价搜法
-
-
NP问题
- 3-color 三色
- circuit-sat 电路可满足(第一个NP问题)
- TSP 旅行商