贪心算法(简单易懂,考研复试上机知识点)

贪心算法简介:
 

贪心算法,思路也是非常简单的,每一步总是做出在当前看来最好的选择
贪心算法的核心就是无后效性,也就是说当前的决策不会影响之后的决策,是独立的。
dp(动态规划)是有后效性的,当前的决策会影响到之后的决策,是有关联的。
 

下面举例对比:
 

01背包问题。


有一个背包,背包容量是M=30。有3个物品,要求尽可能让装入背包中的物品总价值最大,但不能超过总容量。

我们制定贪心的策略总共有3种:
1. 每次挑选重量最小的放入背包
2. 每次挑选价值最大的放入背包
3. 每次挑选单位重量价值最大的放入背包

我们试着来证明这三种可行:
第一种:
物品:A B C
重量 10 30 10
价值 20 80 20

每次挑选重量最小,AC放入背包后,B就不能放入背包了,放入AC的价值为40,而选择放入B的价值为80,明显不成立

第二种:和第一种类似

第三种:
物品:A B C
重量 10 30 10
价值 10 30 10
每次挑选单位重量价值最大,ABC的单位重量价值都一样,无法选择,因此也不成立
 

结论:
我们不能使用贪心算法,但是如果物品是可拆分的话,那么我们就可以求最大最小问题,因为当前的选择不会影响到其他物品的选择,是独立的。

所以我们应该使用动态规划,选择每个物品都会影响到其它物品的选择,是有后效性的,不是独立的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值