东南大学:《数据结构》课程教学资源(PPT课件讲稿)贪心算法

贪心算法 东南大学计算机学院方效林
东南大学计算机学院 方效林 贪心算法

本章内容 贪心算法要素 ■活动选择问题 哈夫曼编码问题 最小生成树问题 单源最短路径问题
本章内容 ◼ 贪心算法要素 ◼ 活动选择问题 ◼ 哈夫曼编码问题 ◼ 最小生成树问题 ◼ 单源最短路径问题 2

贪心算法要素 贪心算法的基本思想 口求解最优化问题的算法包含一系列步骤 每一步都有一组选择 n作出在当前看来最好的选择 口希望通过作出局部最优选择达到全局最优选择 贪心算法不一定总产生最优解 口贪心算法是否产生优化解,需严格证明 贪心算法产生最优解的条件 口最优子结构 贪心选择性
贪心算法要素 ◼ 贪心算法的基本思想 求解最优化问题的算法包含一系列步骤 每一步都有一组选择 作出在当前看来最好的选择 希望通过作出局部最优选择达到全局最优选择 贪心算法不一定总产生最优解 贪心算法是否产生优化解,需严格证明 ◼ 贪心算法产生最优解的条件 最优子结构 贪心选择性 3

贪心算法要素 最优子结构 当一个问题的最优解包含子问题的最优解时,称这 个问题具有最优子结构 贪心选择性 当一个问题的全局最优解可以通过局部最优解得到 称这个问题具有贪心选择性 口证明思路 假定首选元素不是贪心选择所要的元素,证明将首元 素替换成贪心选择所需元素,依然得到最优解 数学归纳法证明每一步均可通过贪心选择得到最优解
贪心算法要素 ◼ 最优子结构 当一个问题的最优解包含子问题的最优解时,称这 个问题具有最优子结构 ◼ 贪心选择性 当一个问题的全局最优解可以通过局部最优解得到 ,称这个问题具有贪心选择性 证明思路: ➢ 假定首选元素不是贪心选择所要的元素,证明将首元 素替换成贪心选择所需元素,依然得到最优解 ➢ 数学归纳法证明每一步均可通过贪心选择得到最优解 4

贪心算法要素 n动态规划方法可用的条件 口最优子结构 a子问题重叠性 贪心算法产生最优解的条件 口最优子结构 贪心选择性 适用贪心算法时,动态规划可能不适用 适用动态规划时,贪心算法可能不适用
贪心算法要素 ◼ 动态规划方法可用的条件 最优子结构 子问题重叠性 ◼ 贪心算法产生最优解的条件 最优子结构 贪心选择性 ◼ 适用贪心算法时,动态规划可能不适用 ◼ 适用动态规划时,贪心算法可能不适用 5

活动选择问题 n活动 S={1,2,,n是n个活动的集合,活动共用同一资 源,同一时间只有一个活动使用。活动起始时 间s1,终止时间f,S≤f,表示为x=[s,f1 相容活动 口活动是相容的,若S2或S
活动选择问题 ◼ 活动 S={1,2,…,n}是n个活动的集合,活动共用同一资 源,同一时间只有一个活动使用。活动 i有起始时 间 si,终止时间 f i,si f i,表示为xi=[si, f i ] ◼ 相容活动 活动i和j是相容的,若 sjf i 或 sif j 6 si fi sj fj si sj fi fj

活动选择问题 问题定义 口输入:S={1,2,…,n},X=[s,印],1≤i≤n a输出:S的最大相容集合 贪心思想 口为了选择更多活动,每次选择f最小的活动
活动选择问题 ◼ 问题定义 输入:S={1, 2, …, n},xi=[si, f i ],1 i n 输出:S的最大相容集合 ◼ 贪心思想 为了选择更多活动,每次选择 f i 最小的活动 7

活动选择问题 S按结束时间排序,f1f2≤ Greedy-Activity-Selector(s n= length(s) A={1}; T(n)=0(n+e(nlogn for i=2 to n do e(nlogn ifs≥ f then A=A∪{; return a
活动选择问题 8 S按结束时间排序,f 1 f 2 ….fn Greedy-Activity-Selector(S, F) n = length(S); A = {1}; j = 1; for i=2 to n do if si f j then A = A∪{i}; j=i; return A T(n) = (n)+(nlogn) = (nlogn)

活动选择问题 最优子结构性质 口设活动S={1,2,…,m已按结束时间递增排序,即 f12≤…fn,设A是包括活动1的最优解,则 A=A-{1}是S’={i∈S|s≥f}的最优解 口证明 >显然A中的活动是相容的,只需证A是最大的。 若不然,假设B是最大的,且B|>|Al 那么B={1UB是最优解,但B=1+B>1+A|=|A >这与A是最大的(最优解)矛盾。 问题的最优解包含子问题的最优解
活动选择问题 ◼ 最优子结构性质 设活动S={1, 2, …, n}已按结束时间递增排序,即 f1f2….fn,设A是包括活动 1 的最优解,则 A’=A-{1} 是 S’={iS|sif1 }的最优解。 证明: ➢ 显然A’中的活动是相容的,只需证A’是最大的。 ➢ 若不然,假设B’是最大的,且|B’| > |A’|。 ➢ 那么B={1}∪B’是最优解,但|B| =1+|B’| > 1+|A’|=|A| ➢ 这与A是最大的(最优解)矛盾。 9 问题的最优解包含子问题的最优解

活动选择问题 贪心选择性 口设活动S={1,2,…,n已按结束时间递增排序,即 f1f2≤…fn。每次选结束时间最小的相容活动, 可得最优解A 口证明: 设贪心最优解A也按结束时间递增排序,设其第一个 活动为k,第二个活动为j 若k=1,则成立 >若k≠1,由于A中活动相容,有f≤S1,由于1≤f, 因此,可以用活动1代替活动k 10
活动选择问题 ◼ 贪心选择性 设活动S={1, 2, …, n}已按结束时间递增排序,即 f1f2….fn。每次选结束时间最小的相容活动, 可得最优解A。 证明: ➢ 设贪心最优解A 也按结束时间递增排序,设其第一个 活动为 k,第二个活动为j ➢ 若k=1,则成立 ➢ 若k1,由于 A 中活动相容,有fk sj,由于f1 fk, 因此,可以用活动1 代替活动k 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《网络编程实用教程》教学资源(PPT课件讲稿)第4章 MFC编程.ppt
- 航空航天(PPT课件讲稿)Mechanics——Particle Motion.ppt
- 上海交通大学:《软件工程导论》课程教学资源(PPT课件讲稿)第十三讲 软件项目中的人员管理.ppt
- Data Mining and Model Choice in Supervised Learning.ppt
- 武昌理工学院:《操作系统原理》课程教学资源(PPT课件)第一章 操作系统概述(主讲:温静).pptx
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 8 网络安全 Network Security.ppt
- 西安电子科技大学:《现代密码学》课程教学资源(PPT课件讲稿)第六章 数字签名算法.pptx
- 华中师范大学:智能与分布计算(PPT课件讲稿)语义网与本体 Semantic Web & Ontology(Introduction).ppt
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第五讲 经典计算的计算模型(主讲:陈意云).pptx
- 《高级语言程序设计 Advanced Programming》课程教学资源(PPT课件讲稿)第5章 循环结构程序设计.ppt
- 香港科技大学:Introduction to Software Defined Network(SDN).pptx
- 《微机原理笔记》课程教学资源(PPT课件讲稿)第6章 输入输出和中断技术.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿)第九章 图计算.ppt
- 《大型机高级系统管理技术》课程教学资源(PPT课件讲稿)第3章 作业控制语言.ppt
- 贵州师范学院:《高级语言程序设计 Advanced Programming》课程教学资源(PPT课件讲稿)第9章 结构体.ppt
- A New Approach for Accurate Modelling of Medium Access Control(MAC)Protocols.ppt
- 西安电子科技大学:人工神经网络(PPT讲稿)Artificial Neural Networks(Introduction).ppt
- 《数据结构和编程设计》课程教学资源(PPT课件讲稿)Chapter 1 Programming Principles.ppt
- 《微机原理》课程教学资源(PPT课件讲稿)第三章 寻址方式与指令系统.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第九章 排序 Sort.ppt
- 《计算机算法基础》课程教学资源(PPT课件讲稿)分枝-限界法.ppt
- 《计算机系统和系统结构》课程教学资源(PPT课件讲稿)第四章 流水线技术.ppt
- 四川大学:《计算机操作系统 Operating System Principles》课程教学资源(PPT课件讲稿)第6章 存储器管理.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第二章 微型计算机基础知识.ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 05 Object-Oriented Programming.ppt
- 四川大学:《计算机操作系统 Operating System Principles》课程教学资源(PPT课件讲稿)第7章 虚拟存储器管理.ppt
- 《计算机软件技术基础》课程电子教案(PPT课件讲稿)第9章 存储管理.ppt
- 上海交通大学:传感器网络研究 Research On Sensor Nets(主讲:伍民友).ppt
- 南京航空航天大学:《数据结构》课程教学资源(PPT课件讲稿)第五章 数组和广义表.ppt
- 《大数据挖掘与应用技术》课程教学资源(PPT课件讲稿)第12章 Hibernate持久化技术.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第7章 多处理器及线程级并行 7.3 分布式共享存储器体系结构 7.4 Models of Memory Consistency.pptx
- Acknowledged Broadcasting and Gossiping in ad hoc radio networks.ppt
- Apache Spark:Intro to Spark(Lightning-fast cluster computing).pptx
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)第三章 局域网安全技术及应用.ppt
- 面向服务的业务流程管理(PPT讲稿)Business Process Analysis and Modeling.pptx
- 中国铁道出版社:《局域网技术与组网工程》课程教学资源(PPT课件讲稿)第6章 Internet.ppt
- 《计算机视觉》课程教学资源(PPT课件讲稿)第二章 视觉的基本知识 第二节 视觉物理学特性.pptx
- 北京航空航天大学:《程序设计语言原理》课程教学资源(PPT课件)第0章 绪论(主讲:吕卫锋)程序语言设计方法学 The Methodology Of Programming Language.ppt
- 《单片机原理及应用》课程PPT教学课件(C语言版)第1章 单片机基础知识概述.ppt
- 山西管理职业学院:《Excel 教程》课程教学资源(PPT课件讲稿,共九部分).ppt