清华大学出版社 TSINGHUA UNIVERSITY PRESS 第4章贪心算法
1 第4章 贪心算法
清华大学出版社 TSINGHUA UNIVERSITY PRESS 第4章贪心算法 顾名思义,贪心算法总是作出在当前看来最好的选择。 也就是说贪心算法并不从整体最优考虑,它所作出的 选择只是在某种意乂上的局部最伉选择。当然,希望 贪心算法得到的最终结果也是整体最优的。虽然贪心 算法不能对所有问题都得到整体最优解,但对许多问 题它能产生整体最优解。如单源最短路经问题,最小 生成树问题等。在一些情况下,即使贪心算法不能得 到整体最优解,其最终结果却是最优解的很好近似。 2
2 第4章 贪心算法 顾名思义,贪心算法总是作出在当前看来最好的选择。 也就是说贪心算法并不从整体最优考虑,它所作出的 选择只是在某种意义上的局部最优选择。当然,希望 贪心算法得到的最终结果也是整体最优的。虽然贪心 算法不能对所有问题都得到整体最优解,但对许多问 题它能产生整体最优解。如单源最短路经问题,最小 生成树问题等。在一些情况下,即使贪心算法不能得 到整体最优解,其最终结果却是最优解的很好近似
清华大学出版社 TSINGHUA UNIVERSITY PRESS 第4章贪心算法 本章主要知识点: 4.1活动安排问题 ·4.2贪心算法的基本要素 ·4.3最优装载 4.4哈夫曼编码 ·4.5单源最短路径 4.6最小生成树 ·4.7多机调度问题 ·4.8贪心算法的理论基础
3 第4章 贪心算法 本章主要知识点: • 4.1 活动安排问题 • 4.2 贪心算法的基本要素 • 4.3 最优装载 • 4.4 哈夫曼编码 • 4.5 单源最短路径 • 4.6 最小生成树 • 4.7 多机调度问题 • 4.8 贪心算法的理论基础
清华大学出版社 TSINGHUA UNIVERSITY PRESS 4.1活动安排问题 活动安排问题就是要在所给的活动集合中选出最 大的相容活动子集合,是可以用贪心算法有效求解的 很好例子。该问题要求高效地安排一系列争用某一公 共资源的活动。贪心算法提供了一个简单、漂亮的方 法使得尽可能多的活动能兼容地使用公共资源。 4
4 4.1 活动安排问题 活动安排问题就是要在所给的活动集合中选出最 大的相容活动子集合,是可以用贪心算法有效求解的 很好例子。该问题要求高效地安排一系列争用某一公 共资源的活动。贪心算法提供了一个简单、漂亮的方 法使得尽可能多的活动能兼容地使用公共资源
清华大学出版社 TSINGHUA UNIVERSITY PRESS 4.1活动安排问题 设有n个活动的集合E={1,2…,n,其中每个活动都要 求使用同一资源,如演讲会场等,而在同一时间内只有 个活动能使用这一资源。每个活动都有一个要求使用该资 源的起始时间si和一个结束时间f,且si<fi。如果选择了活 动,则它在半开时间区间[sf内占用资源。若区间[si,f) 与区间[Sj,f)不相交,则称活动与活动是相容的。也就是 说,当sif或jf时,活动与活动相容
5 4.1 活动安排问题 设有n个活动的集合E={1,2,…,n},其中每个活动都要 求使用同一资源,如演讲会场等,而在同一时间内只有一 个活动能使用这一资源。每个活动i都有一个要求使用该资 源的起始时间si和一个结束时间fi,且si <fi 。如果选择了活 动i,则它在半开时间区间[si, fi)内占用资源。若区间[si, fi) 与区间[sj, fj)不相交,则称活动i与活动j是相容的。也就是 说,当si≥fj或sj≥fi时,活动i与活动j相容