山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第四章 贪心算法 Greedy Algorithm

归本程子末军 HANDONG UNIVERSITY OF TECINOLOGY 计算机算法设计与分析 Design and Analysis of Computer Algorithms 第四章贪心算法 Greedy Algorithm 王红震 理学院
计算机算法设计与分析 Design and Analysis of Computer Algorithms 第四章 贪心算法 Greedy Algorithm 王红霞 理学院

归求程上太军 提纲 SHANDONG UNIVERSITY OF TECINOLOGY 会A会学3会是3会 一、 贪心算法的基本思想 二、活动安排问题 三、最优装载 四、哈夫曼编码 五、单源最短路径 六、最小生成树 七、多机调度问题 2025年4月3日 2
2025年4月3日 2 提纲 一、贪心算法的基本思想 二、活动安排问题 三、最优装载 四、哈夫曼编码 五、单源最短路径 六、最小生成树 七、多机调度问题

G 归本程子末军 提纲 SHANDONG UNIVERSITY OF TECHNOLOGY 一、 贪心算法的基本思想 二、活动安排问题 三、最优装载 四、哈夫曼编码 五、单源最短路径 六、最小生成树 七、多机调度问题 2025年4月3日 3
2025年4月3日 3 提纲 一、贪心算法的基本思想 二、活动安排问题 三、最优装载 四、哈夫曼编码 五、单源最短路径 六、最小生成树 七、多机调度问题

白东程子太军 1.1贪心算法总体思想 HANDONG UNIVERSITY OF TECINOLOGY 贪心算法总是作出在当前看来最好的选择。也 就是说贪心算法并不从整体最优考虑,它所作出 的选择只是在某种意义上的局部最优选择。贪心 法在解决问题的策略上目光短浅,只根据当前已 有的信息就做出选择,而且一旦做出了选择,不 管将来有什么结果,这个选择都不会改变。 这种局部最优选择并不总能获得整体最优解 (Optimal Solution),但通常能获得近似最优 解(Near-Optimal Solution)。 2025年4月3日 A
2025年4月3日 4 1.1 贪心算法总体思想 贪心算法总是作出在当前看来最好的选择。也 就是说贪心算法并不从整体最优考虑,它所作出 的选择只是在某种意义上的局部最优选择。贪心 法在解决问题的策略上目光短浅,只根据当前已 有的信息就做出选择,而且一旦做出了选择,不 管将来有什么结果,这个选择都不会改变。 这种局部最优选择并不总能获得整体最优解 (Optimal Solution),但通常能获得近似最优 解(Near-Optimal Solution)

归本程上太军 1.1贪心算法总体思想 SHANDONG UNIVERSITY OF TECINOLOGY 例:用贪心法求解付款问题。 假设有面值为5元、2元、1元、5角、2角、1角的货币, 需要找给顾客4元6角现金,为使付出的货币的数量最 少,首先选出1张面值不超过4元6角的最大面值的货币, 即2元,再选出1张面值不超过2元6角的最大面值的货 币,即2元,再选出1张面值不超过6角的最大面值的货 币,即5角,再选出1张面值不超过1角的最大面值的货 币,即1角,总共付出4张货币。 2025年4月3日 5
2025年4月3日 5 1.1 贪心算法总体思想 例:用贪心法求解付款问题。 假设有面值为5元、2元、1元、5角、2角、1角的货币, 需要找给顾客4元6角现金,为使付出的货币的数量最 少,首先选出1张面值不超过4元6角的最大面值的货币, 即2元,再选出1张面值不超过2元6角的最大面值的货 币,即2元,再选出1张面值不超过6角的最大面值的货 币,即5角,再选出1张面值不超过1角的最大面值的货 币,即1角,总共付出4张货币

归东程子太深 SHANDONG UNIVERSITY OF TECINOLOGY 华容约深完是红器分深是容 假设有面值为1分、5分、1角1分的货 币,需要找给顾客1角5分现金, 仍按贪心算法如何? 2025年4月3日
2025年4月3日 6 假设有面值为1分、5分、1角1分的货 币,需要找给顾客1角5分现金, 仍按贪心算法如何?

归东程子太军 1.2贪心算法的基本要素 SHANDONG UNIVERSITY OF TECHNOLOGY ●贪心选择性质 ■所谓贪心选择性质是指所求问题的整体最优解可 以通过一系列局部最优的选择,即贪心选择来达 到。 ■对于一个具体问题,要确定它是否具有贪心选择 性质,必须证明每一步所作的贪心选择最终导致 问题的整体最优解。 ●最优子结构性质 ■当一个问题的最优解包含其子问题的最优解时, 称此问题具有最优子结构性质。 2025年4月3日 7
2025年4月3日 7 1.2 贪心算法的基本要素 ⚫贪心选择性质 ◼所谓贪心选择性质是指所求问题的整体最优解可 以通过一系列局部最优的选择,即贪心选择来达 到。 ◼对于一个具体问题,要确定它是否具有贪心选择 性质,必须证明每一步所作的贪心选择最终导致 问题的整体最优解。 ⚫最优子结构性质 ◼当一个问题的最优解包含其子问题的最优解时, 称此问题具有最优子结构性质

山东程子太军 13贪心算法正确性证明方法 SHANDONG UNIVERSITY OF TECINOLOGY 会是33☆ ●证明算法所求解的问题具有贪心选择性; ●证明算法所求解的问题具有最优子结构; ●证明算法确实按照贪心选择性进行局部优化选 择。 2025年4月3日
2025年4月3日 8 1.3 贪心算法正确性证明方法 ⚫ 证明算法所求解的问题具有贪心选择性; ⚫ 证明算法所求解的问题具有最优子结构; ⚫ 证明算法确实按照贪心选择性进行局部优化选 择

归东置子太军 14动态规划与贪心算法的比较 SHANDONG UNIVERSITY OF TECHNOLOGY 华器会空空合安会器空会的会路 ●相同点: ■都具有最优子结构性质。 ●不同,点: ■贪心算法具有贪心选择性质; ■动态规划算法具有子问题重叠性,子问题空间小; ■动态规划算法通常以自底向上的方式解各子问题; ■贪心算法则通常以自顶向下的方式进行,以迭代的方式作出 相继的贪心选择,每作一次贪心选择就将所求问题简化为规 模更小的子问题。 ●可用贪心算法时,动态规划方法可能不适用; ●可用动态规划方法时,贪心算法可能不适用。 2025年4月3日 9
2025年4月3日 9 1.4 动态规划与贪心算法的比较 ⚫ 相同点: ◼ 都具有最优子结构性质。 ⚫ 不同点: ◼ 贪心算法具有贪心选择性质; ◼ 动态规划算法具有子问题重叠性,子问题空间小; ◼ 动态规划算法通常以自底向上的方式解各子问题; ◼ 贪心算法则通常以自顶向下的方式进行,以迭代的方式作出 相继的贪心选择,每作一次贪心选择就将所求问题简化为规 模更小的子问题。 ⚫ 可用贪心算法时,动态规划方法可能不适用; ⚫ 可用动态规划方法时,贪心算法可能不适用

归本程子末军 1.50-1背包问题和背包问题 HANDONG UNIVERSITY OF TECINOLOGY 3会空会点会.3会条 ●0-1背包问题: ■给定n种物品和一个背包。物品的重量是W,价值为 V,背包容量为C。应如何选择装入背包的物品,使 得装入背包中物品的总价值最大? ■在选择装入背包的物品时,对每种物品只有2种选择, 即装入或不装入。 ●背包问题: ■与0-1背包问题类似,所不同的是在选择物品装入背 包时,可以选择物品的一部分,而不一定要全部装 入背包,1i≤n。 2025年4月3日 10
2025年4月3日 10 1.5 0-1背包问题和背包问题 ⚫ 0-1背包问题: ◼ 给定n种物品和一个背包。物品i的重量是Wi,价值为 Vi,背包容量为C。应如何选择装入背包的物品,使 得装入背包中物品的总价值最大? ◼ 在选择装入背包的物品时,对每种物品i只有2种选择, 即装入或不装入。 ⚫ 背包问题: ◼ 与0-1背包问题类似,所不同的是在选择物品i装入背 包时,可以选择物品i的一部分,而不一定要全部装 入背包,1≤i≤n
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第五章 回溯算法 Backtrack Algorithm.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第六章 分支限界法 Branch-and-Bound Algorithm.ppt
- 《数据结构与算法分析》课程教学课件(PPT讲稿)前言(JAVA).ppt
- 《数据结构与算法分析》课程教学课件(PPT讲稿)第一章 java描述.ppt
- 《数据结构与算法分析》课程教学课件(PPT讲稿)第二章 线性表.ppt
- 《数据结构与算法分析》课程教学课件(PPT讲稿)第三章 栈和队列.ppt
- 《数据结构与算法分析》课程教学课件(PPT讲稿)第四章 串.ppt
- 《数据结构与算法分析》课程教学课件(PPT讲稿)第五章 数组与广义表.ppt
- 《数据结构与算法分析》课程教学课件(PPT讲稿)第六章 树与二叉树.ppt
- 《数据结构与算法分析》课程教学课件(PPT讲稿)第七章 图.ppt
- 《数据结构与算法分析》课程教学资源(书籍文献)数据结构与算法分析.pdf
- 内蒙古科技大学:《Java编程》课程教学课件(PPT讲稿)第1章 Java入门(任课教师:褚燕华).ppt
- 内蒙古科技大学:《Java编程》课程教学课件(PPT讲稿)第2章 Java程序设计基础.ppt
- 内蒙古科技大学:《Java编程》课程教学课件(PPT讲稿)第3章 数组与字符串.ppt
- 内蒙古科技大学:《Java编程》课程教学课件(PPT讲稿)第4章 类与对象.ppt
- 内蒙古科技大学:《Java编程》课程教学课件(PPT讲稿)第6章 异常处理.ppt
- 内蒙古科技大学:《Java编程》课程教学课件(PPT讲稿)第5章 接口与Java API基础.ppt
- 内蒙古科技大学:《Java编程》课程教学课件(PPT讲稿)第7章 输入输出流.ppt
- 内蒙古科技大学:《Java编程》课程教学课件(PPT讲稿)第10章 数据库连接.ppt
- 内蒙古科技大学:《Java编程》课程教学课件(PPT讲稿)第8章 图形用户界面.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第三章 动态规划 Dynamic Programming.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第二章 分治与递归.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第一章 算法概述概述(主讲:王红霞).ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)第零章 算法课程简介 Design and Analysis of Computer Algorithms.ppt
- 山东理工大学:《计算机算法设计与分析》课程教学课件(PPT讲稿)哈夫曼编码 Huffman Coding.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第1-2章 计算机与计算思维_第2章 计算思维.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第1-2章 计算机与计算思维_第1章 计算机与计算.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第5-6章 办公自动化 与 数据库_第6章数据库.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第7-8章 网络基础 与 网页设计_第8章 网页设计.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第9-10章 算法 与 程序设计_2019第九章 算法最新版.ppt
- 《计算机应用基础》课程教学资源(讲义)第九章 算法.doc
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第9-10章 算法 与 程序设计_第10章 VB常用控件.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第10-11章 计算机学科简介 与 前沿_第12章 计算机学科前沿.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第10-11章 计算机学科简介 与 前沿_第11章 计算机学科简介.ppt
- 《计算机应用基础》课程教学资源(推荐书籍)思考的乐趣.pdf
- 《计算机应用基础》课程教学资源(推荐书籍)奇思妙想——15位计算机天才及其重大发现.pdf
- 《计算机应用基础》课程教学资源(推荐书籍)改变未来的九大算法[美]约翰·麦考密克(John MacCormick).pdf
- 《计算机应用基础》课程教学资源(扩展阅读)Access 2010简介.doc
- 《计算机应用基础》课程教学资源(扩展阅读)常用鼠标类型介绍.doc
- 《计算机应用基础》课程教学资源(扩展阅读)Windows诞生始末.doc