计算机算法第四章作业.pdf

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机算法第四章作业

第四章 贪心算法 算法基本思想 调度问题 最小生成树问题 单点源最小路径问题 Huffman编码 贪心算法的基本思想 • 找零钱:给孩子找回87分硬币,现有硬币规格50分、10分、 5分、2分、1分。 50+3*10+5+2 =87 一般方法:尽量找面值大的硬币。 • 装箱问题:有物品n件,重量分别是w ,…,w ; 有箱子m个: 1 n B ,…,B ,每个的容量都是C(C≥w ) 。设计装箱方法,使得 1 m i 所用箱子最少。 1. NF(Next Fit)方法:前面的箱子不能再装了,才开始装下一 个箱子。 2. FF(First Fit)方法:每个物品都选择装进第一个可装的箱子 • 贪心算法的基本思想: 在每一步决策中总是作出在当前看来是最好的选择 • 贪心准则,局部最优。 背包问题 • 背包容量为M ,物品件数n。重量w , 价值p i i • 变量x , 0≤x ≤1 i i • 数学模型 • max∑pixi • s.t. ∑w x ≤M i i • 贪心准则: 1. 价值大的物品优先装包; 2. 重量轻的物品优先装包; 3. 单位价值大的物品优先装包。 • 例子 n=3, M=20, p=(25, 24, 15), w=(18,15,10) • 结论:以“单位价值最大的物品优先装包”为贪心准则的贪 心算法获得的效益值最大。 背包问题的贪心算法 proc GreedyKnapsack (p, w, M, x, n) //价值数组p[1..n] 、重量数 //组w[1..n] ,它们元素的排列顺序满足p[i]/w[i] ≥p[i+1]/w[i+1] //M是背包容量,x[1..n]是解向量 float p[1..n], w[1..n], x[1..n], M, rc; integer i, n; x:= 0; // 将解向量初始化为零 rc:= M; // 背包的剩余容量初始化为M • for i to n do if w[i] ≤rc then x[i]:=1; rc:=rc-w[i]; else break; end{if} • end{for} if i≤n then x[i]:=rc/w[i]; end{if} end{GreedyKnapsack} Greedy Knapsack获得最优解 x x( x, , x, ) L 反证法:设Greedy Knapsack给出的解 1 2 n 不是最优 x L x 1,0 ≤x 1,x L x 0w x M 解,根据算法可设 1 j −1 j j +1 n ,∑i i y y(

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档