动态规划与贪心算法的比较

动态规划(DP)与贪心算法(Greedy Algorithm):

1.应用动态规划可解决的问题具有的性质是:最优子结构和重叠子问题。

    最优子结构: 如果一个问题的最优解包含其子问题的最优解,我们就称此问题具有最优子结构性质。

    重叠子问题在求解过程中如果递归算法反复求解相同的子问题,就称最优化问题具有重叠子问题的性质。这个地方说的是适合用递归算法求解的原问题在求解过程中待分解的子问题的集合是固定的。

    应用贪心算法可解决的问题具有的性质是:贪心选择性质和最优子结构。

    贪心选择性质:可以通过做出局部最优解来构造全局最优解。

    最优子结构: 如果一个问题的最优解包含其子问题的最优解,我们就称此问题具有最优子结构性质。

2.动态规划和贪心算法的相似之处

    可解决的问题都必须具有最优子结构的性质。

3.不同之处

    动态规划首先寻找子问题的最优解,然后在其中进行选择出一个最优解;

    贪心算法则是首先做出一次“贪心”选择-----在当时看起来是最优的选择,然后求解选出的子问题,为不必费心的求解所有可能相关的子问题。

    在贪心算法中,我们总是做出当时看起来最佳的选择,然后选出的唯一子问题,而动态规划是在求解之后的子问题选择出最好的那个子问题。

    贪心算法进行选择时可能依赖之前做出的选择,但不依赖任何将来的选择或是子问题的解。


0--1背包是动态规划可解决的问题,0--1分数背包是贪心算法解决的问题。



  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值