可以用带权拟阵贪心算法有效求解.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
清华大学出版社 TSINGHUA UNIVERSITY PRESS 第4章贪心算法 清华大学出版社 TSINGHUA UNIVERSITY PRESS 第4章贪心算法 顾名思义,贪心算法总是作出在当前看来最好的 选择。也就是说贪心算法并不从整体最优考虑,它所 作出的选择只是在某种意义上的局部最优选择。当然 希望贪心算法得到的最终结果也是整体最优的。虽然 贪心算法不能对所有问题都得到整体最优解,但对许 多问题它能产生整体最优解。如单源最短路经问题 最小生成树问题等。在一些情况下,即使贪心算法不 能得到整体最优解,其最终结果却是最优解的很好近 似 清华大学出版社 TSINGHUA UNIVERSITY PRESS 第4章贪心算法 本章主要知识点 ·4.1活动安排问题 ·4.2贪心算法的基本要素 4.3最优装载 ·4.4哈夫曼编码 ·4.5单源最短路径 4.6最小生成树 4.7多机调度问题 ·4.8贪心算法的理论基础 清华大学出版社 TSINGHUA UNIVERSITY PRESS 4.1活动安排问题 设有n个活动的集合E-{1,2,…,n},其中每个活动都 要求使用同一资源,如演讲会场等,而在同一时间内只有 个活动能使用这一资源。每个活动i都有一个要求使用 该资源的起始时间si和一个结束时间fi,且sifi。如果 选择了活动i,则它在半开时间区间[si,fi)内占用资源。 若区间[si,fi)与区间[sj,fj)不相交,则称活动i与活 动j是相容的。也就是说,当si≥fj或sj≥fi时,活动i与 活动j相容 清华大学出版社 TSINGHUA UNIVERSITY PRESS 4.1活动安排问题 在下面所给出的解活动安排问题的贪心算法 greedy Selector public static int greedy Selector(int s, int f, boolean a) int n=s length-1 all=true int for(int 1=2: 1=n: i++)I 各活动的起始时间和结 f(si]afliD I 束时间存储于数组s和f ai=true 中且按结束时间的非减 序排列 count++ else al=false return count 清华大学出版社 TSINGHUA UNIVERSITY PRESS 4.1活动安排问题 由于输入的活动以其完成时间的非减序排列,所 以算法 greedy Selector每次总是选择具有最早完成时 间的相容活动加入集合A中。直观上,按这种方法选 择相容活动为未安排活动留下尽可能多的时间。也就 是说,该算法的贪心选择的意义是使剩余的可安排时 间段极大化,以便安排尽可能多的相容活动。 算法 greedySelector的效率极高。当输入的活动 已按结束时间的非减序排列,算法只需0(n)的时间 排n个活动,使最多的活动能相容地使用公共资源。 如果所给出的活动未按非减序排列,可以用0( nlogn) 的时间重排。 清华大学出版社 TSINGHUA UNIVERSITY PRESS 4.1活动安排问题 例:设待安排的11个活动的开始时间和结束时间按结 束时间的非减序排列如下 i123456789101l Sli 0535688212 fi456789101121314 清华大学出版社 TSINGHUA UNIVERSITY PRESS 4.1活动安排问题 算法 greedySelector的 一套 计算过程如左图所示。 图中每行相应于算法的 次迭代。阴影长条表 示的活动是已选入集合A 的活动,而空白长条表 示的活动是当前正在检 查相容性的活动。 清华大学出版社 TSINGHUA UNIVERSITY PRESS 4.1活动安排问题 若被检查的活动i的开始时间Si小于最近选择的活 动j的结束时间fi,则不选择活动i,否则选择活动i加 入集合A中。 贪心算法并不总能求得问题的整体最优解。但对 于活动安排问题,贪心算法 greedy Selector却总能求 得的整体最优解,即它最终所确定的相容活动集合A的 规模最大。这个结论可以用数学归纳法证明。

文档评论(0)

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

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

1亿VIP精品文档

相关文档