贪心算法详解

贪心算法与枚举法最大的不同就是在于每个子问题都选择最优的情况,然后继续往下进行,而且不能回头,枚举法就是在每个情况都了解的情况下来选择的最优解。举个例子说,有五家公司想要录用你,而他们开出的工资不同,贪心算法就是选择工资最高的那个;而枚举法就是可能把五家公司全都了解完成之后在选择最适合自己的,自己的最优解。

贪心算法是对问题求解时,不从整体考虑,而是选择一叶障目的方式,只选择某种意义上的局部最优解,并且,贪心算法是没有固定的模板可以遵循的,每个题目都有不同的贪心策略,所以算法设计的关键就是贪心策略的选择。贪心算法有一个必须要注意的事情。贪心算法对于问题的要求是,所有的选择必须是无后效性的,即当前的选择,不能影响后续选择对于结果的影响。

贪心算法的设计步骤

按照定义设计:

  1. 证明原问题的最优解之一可以由贪心选择得到。
  2. 将最优化问题转化为这样一个问题,即先做出选择,再解决剩下的一个子问题。
  3. 对每一子问题一一求解,得到子问题的局部最优解;
  4. 把子问题的解局部最优解合成原来解问题的一个解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值