3.13学习总结

贪心算法

实质:直接去求每一步的最优解,通过若干次的贪心选择,从而得到整个问题的最优解。(不是整体上考虑问题,而是找局部的最优解)

利用贪心解题策略:

  1. 判断该题是否适用于贪心策略求解;
  2. 如何选择贪心标准,以得到问题的最优解;

贪心的一般解题思路:
(1)候选集合A
(2)解集合S
(3)解决函数solution
(4)选择函数select
(5)可行函数feasible

举例:

  • 给定一个载重量为M的背包,考虑n个物品,其中第i个物品的重量 ,价值wi 1in),要求把物品装满背包,且使背包内的物品价值最大。
  • 有两类背包问题(根据物品是否可以分割),如果物品不可以分割,称为0—1背包问题(动态规划);如果物品可以分割,则称为背包问题(贪心算法)。

分析:

该题的最优解思路是:先将物品的价值比求出来;进行排序,然后在剩余重量足够容纳下最大价值比的前提下,向背包中装物品。直到装到不能装下价值比最大的那个为止,对这个物品进行切割背包所能容纳下的重量的物品。即可达到最大价值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值