算法思想
贪心算法的求解过程是多步判断,每步判断时不考虑子问题的计算结果,而是根据当时情况采取某种“只顾眼前”的贪心策略来决定取舍。
使用条件
- 贪心法适用于组合优化问题,该问题满足优化原则(一个最优决策序列的任何子序列本身一定是相对于子序列的初始和结束状态的最优的决策)
- 求解过程是多步判断过程,最终的判断序列对应于问题的最优解
- 判断依据某种“短视的”贪心选择性质,性质的好坏决定了算法的成败
- 贪心法必须进行正确性证明
典型应用
- 最优前缀码(Huffman算法)
- 最小生成树(Prim,Kruskal)
- 单源最短路径(Dijkstra)
补充