- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
--(完美WORD文档DOC格式,可在线免费浏览全文和下载)值得下载!
Algorithms :
Design Techniques and
Analysis
算法设计技巧与分析
陈卫东
chenwd@scnu.edu.cn
华南师范大学计算机学院
2008-12-8
第八章 贪心法
n 贪心法的基本思想
8.1 引言
n 应用
8.2 单源最短路问题
8.3 最小生成树 (Kruskal算法)
8.4 最小生成树 (Prim算法)
8.5 文件压缩
陈卫东(W.D.Chen) 华南师范大学计算机学院 1
8.1 引言
n 贪心法的适用问题
贪心法又叫优先策略,顾名思义就是“择优录取”,它是一
种非常简单好用的求解最优化问题的方法,在许多方面的应用
非常成功。
n 贪心法的基本思想
n 贪心算法是根据一种贪心准则(greedy criterion)来逐步构造问题的解的
方法。在每一个阶段,都作出了相对该准则最优的决策。决策一旦作
出,就不可更改。
n 由贪心法得到的问题的解可能是最优解,也可能只是近似解。能否产
生问题的最优解需要加以证明。
n 所选的贪心准则不同,则得到的贪心算法不同,贪心解的质量当然也
不同。因此,贪心算法的好坏关键在于正确的选择贪心准则。
陈卫东(W.D.Chen) 华南师范大学计算机学院 2
背包问题
n 问题
给定一个承重量为M 的背包,n 个重量分别为
w ,w ,… ,w 的物品。已知物品i放入背包能产生p 的价
1 2 n i
值 (放入单位重量的物品i ,产生的价值为p /w ),
i i
i=1,2,… ,n 。
如何装包才能获得最大价值?
实际上,就是要求找到一组非负且不超过1的实
n n
数x ,x ,… ,x 满足∑ x w ≤M ,且使得∑ x p 达到
1 2 n i=1 i i i=1 i i
最大值。
陈卫东(W.D.Chen) 华南师范大学计算机学院 3
背包问题
n 实例
n=3, M=20,
(w ,w ,w )=(18,15,10), (p ,p ,p )=(25,24,15).
1 2 3 1 2 3
n 求解思想
贪心准则1— — 根据物品的价值由大到小来放。
(由实例可知,它不是最优贪心准则)
贪心准则2— — 根据物品的重量由小到大来放。
(由实例可知,它不是最优贪心准则)
贪心准则3— — 根据价值/重量 (即单位价值)由大到
小来放。 (可以证明它是最优贪心准则)
陈卫东(W.D.Chen) 华南师范大学计算机学院 4
背包问题
n 基于贪心准则3的贪心算法
时间复杂度:O(nlogn)
正确性证明:
文档评论(0)