《算法设计与分析》--贪心算法随笔

1、概述:当一个问题是具有最优子结构性质的时候,我们可以使用动态规划算法求解。但是有时候还是会存在更好的算法的。比如说我们举一个找硬币的例子。如果我们有四种用硬币。它们自制的面值分别是二角五分、一角、五分和一份。现在我们需要找给顾客6角3分钱,我们其实很自然的就会拿出2个二角五分的和1个一角的硬币和3个一分的硬币给顾客。

事实上这种找硬币的方式比较的合理而且是最少的,这里我们首先说一下所用到的算法:首先选出1个面值不超过六角三分的最大硬币,所以取出来的二角五分,所以六角三分减去二角五分,最后剩下了三角八分。再从其中选出不超过三角八分的最大硬币,即又是一个二角五分,这样一直做下去。实际上这就是一个贪心算法的雏形。

其实贪心算法并不会从整体的层面上考虑问题,只是单纯的在局部上面考虑问题的最优解。并且在最终贪心算法得到的问题也是要求是最优的。

找硬币问题本身是具有最优子结构性质的,

最优子结构性质:假设当前决策结果是f[n],则最优子结构就是要让f[n-k]最优,最优子结构性质就是能让转移到n的状态是最优的,并且与后面的决策没有关系,即让后面的决策安心地使用前面的局部最优解的一种性质。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值