1.设计思想
贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一 步都要确保能获得局部最优解。每一步只考虑一 个数据,其选取应该满足局部优化的条件。若下 一个数据和部分最优解连在一起不再是可行解时, 就不把该数据添加到部分解中,直到把所有数据枚举完,或者不能再添加算法停止。
2. 定义
在求解问题时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。
3. 特点
- 贪心选择性质:在每一步选择中都采取当前状态下最优的选择。
- 最优子结构性质:问题的最优解包含其子问题的最优解。
- 无后效性:某状态一旦确定,不会影响后续状态的选择。
4. 步骤
1. 把求解的问题分成若干个子问题 。
2. 对每个子问题求解,得到子问题的局部最优解 。
3. 把子问题的解局部最优解合成原来解问题的一个解
贪心算法是一种在每一步选择中都采取当前状态下最优的选择的算法。它适用于具有最优子结构和无后效性的问题。虽然贪心算法在许多情况下能够得到全局最优解,但并不是所有问题都适用。