背包问题之贪心学习

来源:互联网 发布:win8网络限速解除 编辑:程序博客网 时间:2024/06/08 18:07

         参考 http://wenku.baidu.com/view/a42e7e1fa76e58fafab003d2.html

        根据背包模型,分别以价值、重量为亮度标准都不行,以单位价值为衡量标准较合适。贪心算法核心在于选择最优度量标准。贪心问题最重要的两个性质:贪心选择性质 + 最优子结构问题。

        其中,贪心选择性质是指通过一系列的局部最优贪心选择,来达到整体的最优解。贪心在算法中就是只根据当前已有的信息就做出选择,而且以后都不会改变这次选择,这是dp与贪心最主要的区别。

        另外,DP采用自底向上的方法求解各个子问题,而贪心采用自顶向下、以迭代的方式每做出一次贪心选择,就将问题化为更小规模的子问题。

        也就是说:DP要想得到问题的解必须依赖子问题被解决,而贪心是做出了贪心选择后可以去解决更小规模的子问题

        而最优子结构是判断是否能用DP和贪心算法是的关键,主要是看母问题根据最优子问题得到最优,说白了母问题根据{子问题A最优、子问题B最优、...}能否达到最优,或者{子问题A最优、子问题B最优、...}能否决定母问题最优。


         证明某个问题可以用贪心算法来解,主要要证明:是否每做一次贪心选择问题规模更小,并且最终导致整体最优解。

0 0
原创粉丝点击