- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 贪心算法简谈与应用举例 组员: 学院:通信与信息工程 * * ※简谈: 算法思想 算法过程 算法分析※应用举例: 常见应用 * * ?算法思想 找钱的方法: 25+25+10+5+1+1 我们有种直觉的倾向: 在找零钱时,直觉告诉我们使用面值大的硬币,剩余的金额就越少,这样找的硬币数目最少。 假设提供了数目不限的面值为2 5美分、1 0美分、5美分、及1美分的硬币。 假设一个小孩买了33美分的糖果(需要找给小孩67美分)。 引例——找零钱 * * ?算法思想 在现实生活中,我们经常为下意识的做贪心的选择,例如在购买商品时候总是寻求物美价廉的物品,在质量相同情况下,价格低的首选。 贪心——抱歉我找不到更好的词去形容——是个好东西。贪心是对的,贪心是奏效的。 ——电影《华尔街》 * * ?算法思想 将问题的求解过程看作是一系列选择,每次选择一个输入,每次选择都是当前状态下的最好选择 局部最优解 。每作一次选择后,所求问题会简化为一个规模更小的子问题。从而通过每一步的最优解逐步达到整体的最优解。 * * ?算法过程 顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。 找的硬币总数最少→使剩余金额最少 找硬币的时候: 【标准转化】 贪心猜想(贪心策略) 原 现 * * ?算法过程 [贪心算法步骤] 从问题的某一初始解出发;? while?能朝给定总目标前进一步? do?求出可行解的一个解元素;? 由所有解元素组合成问题的一个可行解; 真正意义要求解原问题 将原问题变成更小子问题的步骤 理解 * * ?算法过程 【贪心算法一般步骤】 1、设计数据找规律 2、进行贪心猜想 3、正确性证明(严格证明和一般证明) ·严格证明:数学归纳和反证法 ·一般证明:列举反例 4、程序实现 * * ?算法分析 【适用问题】 具备贪心选择和最优子结构性质的最优化问题 【常见应用】会议安排问题,哈夫曼编码问题, 等等 【算法优点】求解速度快,时间复杂性有较低的阶. 【算法缺点】需证明是最优解. 整体的最优解可通过一系列局部最优解达到. 每次的选择可以依赖以前作出的选择, 但不能依赖于后面的选择 问题的整体最优解中包含着它子问题的最优解 * * ?常见应用 1、会议安排问题 【问题陈述】设有n个会议E 1,2,…,n 要使用同一资源,同一时间内只允许一个会议使用该资源. 设会议i的起止时间区间[si, fi ,如果选择了会议i,则它在时间区间[si, fi 内占用该资源;若[si, fi 与[sj, fj 不相交 , 则称会议 i 与 j 是 相容 的 . 求解目标是在所给的会议集合中选出最大相容会议子集. 【算法思路】将n个会议按结束时间非减序排列,依次考虑会议i, 若i与已选择的会议相容,则添加此会议到相容会议子集. 【例】设待安排的11个会议起止时间按结束时间的非减序排列 事件编号 1 2 3 4 5 6 7 8 9 10 11 发生时刻 1 3 0 5 3 5 6 8 8 2 12 结束时刻 4 5 6 7 8 9 10 11 12 13 14 * * ?常见应用 会议安排问题贪心算法: void GreedySelector int n, Type s[], Type f[], bool A[] A[1] true; int j 1; for int i 2;i n;i++ if s[i] f[j] A[i] true; j i; else A[i] false; * * * * ?常见应用 2、哈夫曼编码 【问题陈述】哈夫曼编码是广泛地用于数据文件压缩的十分有效的编码方法。其压缩率通常在20%~90%之间。哈夫曼编码算法用字符在文件中出现的频率表来建立一个用0,1串表示各字符的最优表示方式。 【算法思路】 (1)以n个字母为结点构成n棵仅含一个点的二叉树集合,字母的频率即为结点的权。 (2)每次从二叉树集合中找出两个权最小者合并为一棵二叉树: 增加一个根结点将这两棵树作为左右子树。新树的权为两棵子树的权之和。 (3)反复进行步骤(2)直到只剩一棵树为止。 a: 0000 b :11 c: 1000 d: 1001 e: 101 f :01 g: 0001 h:001 有八种字符:a b c d e f g h ,其在通信联络中出现的概率分别为:0.05 0.29 0.07 0.08 0.14 0.23 0.03 0.11 ,试设计哈夫曼编码。 设权 w 5 , 29 , 7 ,8 , 14 , 23 ,3 , 11 n 8 构造过程: 5 29 7 8 14 2
您可能关注的文档
最近下载
- 售后服务体系、流程及售后保障措施.docx VIP
- 北师版初中心理健康七年级全一册第一课翻开新的一页开启新学期课.pptx VIP
- 注塑生产排程月计划(ASDJS)自动排程.xls VIP
- QCT484-1999 汽车油漆涂层.pdf VIP
- 《影视后期合成》教案全套项目1--11 初识After Effects--渲染输出.docx VIP
- SAP物料分类账操作详解(S4系统).doc VIP
- 人教版小学数学四年级上册第六单元《用五入法试商的除法》PPT课件.pptx VIP
- 云南硅pu篮球场施工方案.docx VIP
- 学生牛奶糕点配送项目供货保障措施方案.docx VIP
- 课件中国现代文学史下.pptx VIP
文档评论(0)