第五章 贪心方法.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 贪心方法.pdf

第五章 贪心算法 §1 基本思想 找零钱 假如售货员需要找给小孩 67 美分的零钱。现在,售货员 手中只有 25 美分、10 美分、5 美分和 1 美分的硬币。在小孩的催促 下,售货员想尽快将钱找给小孩。她的做法是:先找不大于 67 美分 的最大硬币 25 美分硬币,再找不大于 67 -25 =42 美分的最大硬币 25 美分硬币,再找不大于 42 -25 =17 美分的最大硬币 10 美分硬币, 再找不大于 17-10=7 美分的最大硬币 5 美分硬币,最后售货员再找 出两个 1 美分的硬币。至此,售货员共找给小孩 6 枚硬币。售货员的 原则是拿尽可能少的硬币个数找给小孩。从另一个角度看,如果售货 员将捡出的硬币逐一放在手中,最后一起交给小孩,那么售货员想使 自己手中的钱数增加的尽量快些,所以每一次都尽可能地捡面额大的 硬币。 装载问题 有一艘大船用来装载货物。假设有 n 个货箱,它们的 体积相同,重量分别是w , w L, w ,货船的最大载重量是 c 。目标 1 2 n 是在船上装最多货箱该怎样装?如果用xi 1表示装第 i 个货箱,而 x 0 表示不装第 i 个货箱,则上述问题是解优化问题:求 x , x ,⋅⋅⋅⋅⋅⋅, i 1 2 xn , n 满足 ∑w x ≤c (5.1) i i i 1 n 使得 max ∑xi (5.2) i 1 贪心方法,顾名思义,是在决策中总是作出在当前看来是最好的 选择。例如找零钱问题中,售货员每捡一个硬币都想着使自己手中的 钱尽快达到需要找钱的总数。在装载问题中,每装一个货箱都想着在 不超重的前提下让船装进更多的箱子。但是贪心方法并未考虑整体最 优解,它所作出的选择只是在某种意义上的局部最优选择。当然,在 采用贪心算法时未必不希望结果是整体最优的。事实上,有相当一部 分问题,采用贪心算法能够达到整体最优。如前面的找零钱问题以及 后面将要讲到的单点源最短路径问题、最小生成树问题、工件排序问 题等。为了更好理解贪心算法,我们将装载问题稍加推广,考虑 0/1 背包问题。 0/1 背包问题 已知容量为 M 的背包和 n 件物品。第 i 件物品的 重量为 w ,价值是 p 。因而将物品 i 的一部分 x 放进背包即获得 p x i i i i i 的价值。问题是:怎样装包使所获得的价值最大。即是如下的优化问 题: max ∑p x (5.3) i i 1≤i ≤n ∑w x ≤M i i i n 1≤ ≤ (5.4)

文档评论(0)

caijie1982 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档