DP与贪心

     拜读《算法导论》至DP和贪心算法处,觉得有必要理一下思路。

     书上对DP介绍了几经典的案例,LCS,矩阵连乘与最优二叉搜索都是很经典的应用。DP是一种从下至上的优化算法,其实对于寻优,至上而下的寻优算法从理论上也是可行的,然后之下而上效率比至上而下大大提高,原因是,当我们采用至上而下的递归式时,实际上做了许多重复的运算,递归树对重复问题的运算结果其实只需运算一次,再次用到时只需读取。本人对DP的理解还不够深刻,但是已经能够体会到DP的精髓在于寻找最优子问题,即将当前问题分解成几个子问题合并的结果,并且能够证明:为了取得当前问题的最优解,其子问题也必须是最优的。贪心算法是一种特殊的DP,理论上DP能够解决贪心能解决的所有问题,但是贪心算法能够确定存在一个选择,做此选择后的结果并不会比做其他选择差,以此保证最优。

    关于DP和贪心的一个比较经典的案例是部分背包问题与0-1背包问题。

    很显然,部分背包问题没有空间浪费的问题,每一次取的物品能够保证(价值/空间)比最大,直到背包填满,理由很简单,因为能够保证选择当前(价值/空间)比最高的物品至少不会比选择(价值/空间)比小的物品更差。0-1背包问题的子问题则不能保证某一个选择比其他更优,只能从其子问题中寻找最优解。所以贪心实质上并不是一种之下而上的算法,只是说他也能够通过DP得到解决。

转载于:https://www.cnblogs.com/biyeqingfeng/archive/2011/11/11/2245799.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值