- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计培训之4: 贪心算法 袁辉勇 2010年1月8日 贪心法也称为贪婪法。 算法原理:以当前情况为基础作最优选择,而不考虑各种可能的整体情况,所以贪心法不要回溯。 算法优点:因为省去了为寻找解而穷尽所有可能所必须耗费的大量时间,因此算法效率高。 注意:通常使用贪心算法时需要证明。 一、概述 例1:找零钱问题。 平时购物找钱时,为使找回的零钱的硬币数最少,不考虑找零钱的所有各种发表方案,而是从最大面值的币种开始,按递减的顺序考虑各币种,先尽量用大面值的币种,当不足大面值币种的金额时才去考虑下一种较小面值的币种。 这就是在使用贪心法。 /showproblem.php?pid=2021 例2:在一个N×M的方格阵中,每一格子赋予一个数,规定每次移动时只能向上或向右。 找出一条路径,使其从左下角至右上角所经过的权之和最大。 a11 a12 a13 a21 a22 a23 a31 a32 a33 a41 a42 a43 分析:例如下面的一个2×3的方格阵中,每一格子都填写了一个数。 3 4 6 1 2 10 若按贪心法求解,路径为:1→3→4→6; 若按动态规划法求解,路径为:1→2→10→6 总结:由于贪心策略自身的特点,使得数字10所在的格子成为一个“坏格子”,即运用贪心策略找不到它,运用贪心策略求解的第一步(1→3)保证了局部最优解,却无法保证全局最优解。故本问题不能使用贪心法来求解。 例3 最优装载问题 有n个集装箱要装上1艘载重量分别为c的轮船,其中第i个集装箱的重量为wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。装载方案可能不唯一,约定长为n的01字符串(1:表示装)以字典序最大的那个为符合要求的装载方案。 输出样例 110 10100 输入样例: 3 50 40 10 40 5 37 10 30 24 35 40? 枚举算法思路: 这个问题可以用枚举算法来解:设立一数组x,数组每个元素x[i]可能取值为0或1。如果x[i] 为0,则货箱i 将不被装上船;如果x[i] 为1,则货箱 i 将被装上船。 贪心算法思路: 这个问题也可以用贪心算法来解:由于货箱的大小都一样,但货箱的重量都各不相同,故可以按照货箱重量从大到小的顺序来装载。 例4 装箱问题 设有编号为0、1、…、n-1的n种物品,体积分别为v0、v1、…、vn-1。将这n种物品装到容量都为V的若干箱子里。约定这n种物品的体积均不超过V,即对于0≤i<n,有0<vi≤V。不同的装箱方案所需要的箱子数目可能不同。 装箱问题要求使装尽这n种物品的箱子数要少。 样例: V=1,n=8,物品的体积分别为:0.8,0.5, 0.4,0.4, 0.3,0.2, 0.2,0.2。 问题分析:若考察将n种物品的集合分划成n个或小于n个物品的所有子集,最优解就可以找到。但所有可能划分的总数(枚举方法)太大。对适当大的n,找出所有可能的划分要花费的时间是无法承受的。 能否下面这样贪心?为什么? 先将n件物品按照体积从大到小排序,然后按排序结果依次将物品放到它第一个能放进去的箱子中。 0.4 0.3 0.2 0.2 0.8 0.2 0.5 0.4 1、求图的最小生成树 A B C D E F 2 2 1 3 1 5 4 二、数据结构中的典型贪心算法 Prim 算法的贪心策略:每次已连通部分与未连通部分之间的最小边,直到图连通为止。 Kruskal 算法的贪心策略:每次选择不构成回路的最小边,直到图连通为止。 2、求图中顶点之间的最短路径 A B C D E F 2 3 1
您可能关注的文档
最近下载
- 平度2018年蓼兰镇西何家店村滑溪头连片打造美丽乡村示.doc VIP
- 《法律基础知识》试题库(含答案).pdf VIP
- 电商达人LV1-LV2等级提升试卷.docx VIP
- 捷顺智能道闸安装调试说明书a 1.pdf VIP
- 37、餐厅菜品研发流程.pdf VIP
- 平度市2018蓼兰镇西何家店村、滑溪头连片打造美丽乡村示.doc VIP
- 医院设备科干事面试题及参考答案结构化面试题.docx VIP
- 2025庆元旦迎新年晚会PPT模板.pptx VIP
- 2023-2024学年语文三年级上学期《期末测试卷》附答案解析 .pdf VIP
- 房地产市场年报-2020年天津市房地产市场年报.pdf VIP
文档评论(0)