贪心算法原理

使用贪心算法需要具备两个性质:贪心选择性和最优子结构。
贪心选择性是指所求问题的整体最优解可以通过一系列可以通过一系列局部最优的选择来达到。他总是作出当前最好的选择,该选择可以依赖于之前的选择,但绝不依赖于将来的选择和子问题的选择,这是他与动态规划的重要区别。
最优子结构是指一个问题的最优解包含其子结构的最优解。

在证明这两个性质的时候,比较好证的是证明最优子结构。
最优子结构一般通过反证法证明,即,如果该问题的最优解不是子问题的最优解,那么假设子问题有一个最优解,然后由该最优解构造出原问题的一个最优解,产生了矛盾。需要注意的是,子问题是指作出贪心选择之后的子问题。
贪心选择性的证明一般先假设一个问题的最优解,据此构造另一个最优解,使其第一步是贪心选择。

下面给出活动安排问题的这两个性质的证明

猜你喜欢

转载自blog.csdn.net/hx_yu/article/details/79944454