贪心算法就是总是做出当前看来最好的选择。即贪心算法并不从整体最优考虑,它做出的选择只是某种意义上的局部最优选择。
可以用贪心算法解决的问题:
1.交通路线的最短路径算法
2.最小生成树算法
3.集装箱装载问题的背包算法
4.图的着色问题
5.有限期的任务分配和计算机作业调度
说明:若要用贪心算法求解某问题的整体最优解,必须首先证明贪心思想在该问题的应用结果就是最优解。
贪心算法要素:
1.贪心选择性质,指所求问题整体最优解可以通过一系列局部最优解的选择来达到。通常是以自顶向下的方式进行的。已迭代的方式作出贪心选择,每做一次贪心选择就将所求问题简化为了规模更小的子问题。
2.最优子结构性质 ,当问题的最优解包含其子问题的最优解时,称具有最优子结构性质。