算法学习之贪心算法

贪心算法总是做出当前最好的选择,也就是说,它期望通过局部最优选择从而得到全局最优的解决方案------------《算法导论》

从问题的初始解开始,一步一步地做出当前最好的选择,逐步逼近问题的目标,尽可能地得到最优解,即使达不到最优解,也可以得到最优解的近似解

我们需要注意一下几个问题

  • 一旦做出选择,不可以后悔
  • 又可能得到的不是最优解,而是最优解的近似解
  • 选择什么样的贪心策略,直接决定算法的好坏

什么样的问题可以使用贪心算法

  1. 具有贪心选择性质
    - 原问题的整体最优解可以通过一系列的局部最优的选择得到
    - 将原问题变为一个相似的但规模跟小的子问题
    - 每一步都是当前最佳的选择
    - 运行过程无回溯过程
  2. 具有最优子结构
    - 当一个问题的最优解包含其子问题的最优解

贪心算法秘籍

  1. 贪心策略
    首先确定贪心策略,选择当前看上去最好的一个方案。例如:挑选苹果,如果你认为个大的是最好的,那你每次都从苹果堆中拿一个最大的;如果你认为最红的是最好的,那你每次都从苹果堆中拿一个最红的。因此根据求解的目标不同,贪心策略也会不同
  2. 局部最优解
    根据贪心策略,一步一步得到局部最优解,例如,第一次挑选一个最大的苹果,第二次再从剩下的苹果堆中选择一个最大的。。。。以此类推
  3. 全局最优解
    把所有的局部最优解合成原来问题的一个最优解
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值