定义:
贪心算法是一种在每一步选择中都采取当前状态下最好或最优的选择,从而导致结果是最好或最优的算法
算法思路:
1.建立数学模型来描述问题
2.把求解的问题分解为若干个子问题
3.对每个子问题求解,得到子问题的局部最优解
4.把子问题的最优解合成原来解问题的一个解
使用条件
利用贪心法求解的问题应具备如下两个特征:
1.贪心选择性质
一个问题的整体最优解可通过一系列局部的最优解的选择达到,并且每次的选择可以依赖以前做出的选择,但不依赖于后面要做出的选择。这就是贪心选择性质。对于一个具体问题,要确定它是否具有贪心选择性质,必须验证证明每一步所作的贪心选择最终导致问题的整体最优解
2.最优子结构性质
当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。问题的最优子结构性质是该问题可用贪心法求解的关键所在
应用实例
找零钱问题;Prim算法;