首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
贪心法是一种通过多步选择,试图获得最优解的方法。贪心法每次选
[问答题]
贪心法是一种通过多步选择,试图获得最优解的方法。贪心法每次选择的原则是什么?请举例说明
添加笔记
求解答(0)
邀请回答
收藏(1)
分享
纠错
1个回答
添加回答
0
阿铭
贪心算法的本质原则是局部最优原则。
简单地说,问题能够分解成子问题来解决,子问题的最优解能递推到最终问题的最优解。
不同的问题选择当然会不同,但都是问题的最优解。
引例 [找零钱]
一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。售货员希望用数目最少的硬币找给小孩。假设提供了数目不限的面值为2 5美分、1 0美分、5美分、及1美分的硬币。售货员分步骤组成要找的零钱数,每次加入一个硬币。选择硬币时所采用的贪婪准则如下:每一次选择应使零钱数尽量增大。为保证解法的可行性(即:所给的零钱等于要找的零钱数),所选择的硬币不应使零钱总数超过最终所需的数目
如果只有面值分为使找回的零钱的硬币数最小,不考虑找零钱的所有各种方案,而是从最大面值的币种开始,按递减的顺序考虑各币种,先尽量用大面值的币种,只当不足大面值币种的金额才会去考虑下一种较小面值的币种。这就是在采用贪婪法。这种方法在这里之所以总是最优,是因为银行对其发行的硬币种类和硬币面值的巧妙安排。
为1,5和11单位的硬币,而希望找回总额为15单位的硬币,按贪婪算法,应找1个11单位面值的硬币和4个1单位面值的硬币,共找回5个硬币。但最优的解答应是3个5单位面值的硬币。
发表于 2017-10-13 09:06:33
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
高级算法
上传者:
喵大人喵喵喵
难度:
1条回答
1收藏
2716浏览
热门推荐
相关试题
在大语言模型中,什么是"Gated...
大模型开发
评论
(1)
下面关于 Java 中的异常处理说...
Java
评论
(1)
关于大模型“上下文窗口”的理解,以...
大模型概念
评论
(1)
Vue Router的全局前置守卫...
Vue
评论
(1)
在Vue.js中,组件data选项...
Vue
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题