11 12 算法分析与设计 第十一讲 第十二讲 贪心算法及实例分析.pdfVIP

11 12 算法分析与设计 第十一讲 第十二讲 贪心算法及实例分析.pdf

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法分析与设计 贪心算法 主要内容 贪心算法的基本思想 活动安排问题 贪心策略的基本要素 贪心算法实例——单源最短路径 贪心算法实例——最小生成树 Huffman编码 贪心算法的基本思想 适用于求解最优化问题的算法往往包含一 系列步骤,每一步都有一组选择 贪心算法总是作出在当前看来是最好的选 择 贪心算法并不从整体最优上加以考虑,它 所作出的选择只是在某种意义上的局部最 优选择 贪心算法的基本思想 贪心算法不能对所有问题都得到整体最优 解,但对许多问题它能产生整体最优解 在一些情况下,即使贪心算法不能得到整 体最优解,其最终结果却是最优解的很好 近似 与动态规划方法相比,贪心算法更简单, 更直接 活动安排问题 设有n个活动的集合E={1,2,…,n} 其中每个活动都要求使用同一资源,如报告厅等 而在同一时间内只有一个活动能使用这一资源 每个活动i都有一个要求使用该资源的起始时间s 和 i 一个结束时间f ,且s f i i i 如果选择了活动i ,则它在半开时间区间[s ,f )内占用 i i 资源,若区间[s ,f )与区间[s ,f )不相交,则称活动i与 i i j j 活动j 是相容的 也就是说,当s ≥f 或s ≥fi时,活动i与活动j 相容 i j j 目标:要在所给的活动集合中选出最大的相容活动 子集合 活动安排问题 贪心策略求解方案 将活动按照结束时间的增序f 1≤f 2 ≤ …≤f n排列 一开始选择活动1,然后依次检查后面的活动i是否 与前面已选择的活动相容,若相容,则将活动i加入 到已选择的活动集合A 中;若不相容,则继续检查 下一活动与已选择活动的相容性 由于活动已按结束时间排序,设刚加入已选择活动 集合的活动是j ,因此只需检查活动i的是否与j 相容; 也就是检查是否满足s ≥f ,若满足,则活动i与j 相容 i j 贪心体现在总是选择具有最早完成时间的相容活动 活动安排问题 设待安排的11个活动的开始时间和结束时 间已按结束时间的增序排列: i 1 2 3 4 5 6 7 8 9 10 11 S [i] 1 3 0 5 3 5 6 8 8 2 12 f [i] 4 5 6 7 8 9 10 11 12 13 14 活动安排问题 GREEDY-ACTIVITY-SELECTOR(s, f) 1 n ← length[s] 2 A ← {activity 1} 3 j← 1 4 for i ← 2 to n 5 do if s ≥ f i j 6 then A ← A ∪{activity i} 7

文档评论(0)

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

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

1亿VIP精品文档

相关文档