第十六章 贪心算法
根据动态规划而产生的贪心算法:
1. 决定问题的最优子结构。
2. 设计出一个最优解。
3. 证明在递归任一阶段,最优选择之一总是贪心选择。
4. 证明通过做贪心选择,所有子问题(除了一个)都为空。
5. 设计出一个实现贪心策略的递归解。
6. 转换为迭代解。
简化的贪心算法:
1. 将优化问题转化为这样一个问题,即先做出选择,再解决剩下的一个子问题。
2. 证明原问题有一个最优解是做贪心选择得到的。
3. 证明如果将子问题的最优解和贪心选择联合起来,可以得出原问题的最优解。
贪心选择的性质:一个全局最优解总是可以通过局部最优选择来达到。
最优子结构是贪心算法可应用的关键。