求一个任意实数c的算术平方根g的算法设计思想_算法复习第四篇——贪心法

本文介绍了贪心算法的设计思想,通过找钱问题和背包问题等实例阐述了贪心法的应用。文章强调了贪心选择性质和最优子结构在解决问题中的关键作用,并分析了贪心法在图问题如最小生成树中的应用。同时,总结了贪心算法与动态规划的区别。
摘要由CSDN通过智能技术生成

09c7c4173789202a3339e7cca0a71161.png

公元2020年5月5日,距离算法考试仅剩4天。

一、知识归纳

1.设计思想

  • 只根据当前已有的信息就做出选择,而且一旦做出了选择,将来无论如何都不能更改
  • 不从整体最优考虑,所做的选择只是在某种意义上的局部最优
  • 这种选择并不总能获得整体最优解(Optimal Solution),但通常能获得近似最优解(Near-Optimal Solution)
动态规划法通常以自底向上的方式求解各个子问题。
贪心法则通常以自顶向下的方式做出一系列的贪心选择。

2.示例

【找钱问题】假设有面值为5元、2元、1元、5角、2角、1角的货币,需要找给顾客4元6角现金,使付出的货币的数量最少。

【思路】

  • 首先选出1张面值不超过4元6角的最大面值的货币,即2元,再选出1张面值不超过2元6角的最大面值的货币,即2元,再选出1张面值不超过6角的最大面值的货币,即5角,再选出1张面值不超过1角的最大面值的货币,即1角,总共付出4张货币。
  • 在付款问题每一步的贪心选择中,在不超过应付款金额的条件下,只选择面值最大的货币,而不去考虑在后面看来这种选择是否合理,而且它还不会改变决定:一旦选出了一张货币,就永远选定。
  • 贪心选择策略是尽可能使付出的货币最快地满足支付要求,其目的是使付出的货币张数最慢地增加

3.基本要素

(1) 最优量度标准(正确的贪心策略,贪心选择性质)

  • 贪心法求解问题的核心问题
  • 根据该量度标准,实行多步决策进行求解
  • 在该量度意义下,每步的贪心选择是局部最优的
  • 得到全局最优解

(2) 求解的问题有最优子结构性质(最优性原理)

  • 一个问题的最优解包含其子问题的最优解
注:贪心算法的基本要素是贪心选择性质和最优
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值