




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法设计与分析,2020年6月2日,讲授内容:贪心算法I教师:胡学钢、吴共庆,纲要,图等表示最小扩展树最优子结构贪婪选择Prims贪婪MST算法,6/2/2020,算法设计与分析-贪心算法I,2,有向图(digraph)G=(V,E)是一个有序对的集合,包括顶点V的集合(singular:vertex),边的集合EVV.无向图G=(V,E)中,边集合E包括无序的顶点对.任何情况下均有|E|=O(V2).另外,如果G是连通的,那么|E|V|1,这意味着lg|E|=(lgV).,图(复习),6/2/2020,算法设计与分析-贪心算法I,3,邻接矩阵表示法,一个图G=(V,E)的邻接矩阵,V=1,2,n,为矩阵A1.n,1.n,Ai,j=,1if(i,j)E,0if(i,j)E.,6/2/2020,算法设计与分析-贪心算法I,4,顶点vV的邻接链表Adjv是和顶点v相邻的顶点的链表。,Adj1=2,3Adj2=3Adj3=Adj4=3,对于无向图,|Adjv|=degree(v).对于有向图,|Adjv|=out-degree(v).,握手定理:对于无向图vV=2|E|邻接表使用的存储空间为(V+E)是一种稀疏表示(对两种图均适用).,邻接链表表示法,6/2/2020,算法设计与分析-贪心算法I,5,输入:一个连通的,无向图G=(V,E)其加权函数w:E.为了简化,假设所有边的权各不相同.(CLRS包括了通用的情况.),输出:扩展树T连接所有顶点的树其权最小:,最小扩展树,6/2/2020,算法设计与分析-贪心算法I,6,MST举例,6/2/2020,算法设计与分析-贪心算法I,7,MSTT:(G的其他顶点没有画出),去掉边(u,v)T.然后,将T划分为两棵子树T1和T2.,定理:子树T1是G1=(V1,E1)的MST,G1是由T1的顶点导出G的子图。,V1=T1的顶点,E1=(x,y)E:x,yV1.T2类似.,最优子结构,6/2/2020,算法设计与分析-贪心算法I,8,证明:粘贴拷贝:w(T)=w(u,v)+w(T1)+w(T2).如果T1是G1中比T1加权更小的扩展树,那么在G中T=(u,v)T1T2将是一棵比T加权更小的扩展树。,我们得到了重叠子问题了吗?是的.很好,那么可以使用动态规划!是的,但是MST表现出更强特征,可以使用更加有效的算法。,证明最优子结构,6/2/2020,算法设计与分析-贪心算法I,9,定理:令T为G=(V,E)的MST,并且令AV。假设(u,v)E是连接A和VA的最小加权边.那么,(u,v)T.,贪婪选择特征局部的最优选择全局范围内也是最优的.,“贪婪”算法的特征,6/2/2020,算法设计与分析-贪心算法I,10,证明.假设(u,v)T.粘贴和拷贝.,T:,(u,v)=连接A和VA的最小加权边,AVA,定理的证明,6/2/2020,算法设计与分析-贪心算法I,11,T:,AVA,考虑T中从u到v的唯一的简单路径.,证明.假设(u,v)T.粘贴和拷贝.,(u,v)=连接A和VA的最小加权边,证明.假设(u,v)T.粘贴和拷贝.,(u,v)=连接A和VA的最小加权边,定理的证明,6/2/2020,算法设计与分析-贪心算法I,12,T:,AVA,将(u,v)和这条路径上的第一条边交换,这个边连接A中的一个顶点,同时连接VA中的一个顶点。,考虑T中从u到v的唯一的简单路径.,证明.假设(u,v)T.粘贴和拷贝.,(u,v)=连接A和VA的最小加权边,证明.假设(u,v)T.粘贴和拷贝.,(u,v)=连接A和VA的最小加权边,定理的证明,6/2/2020,算法设计与分析-贪心算法I,13,T:,AVA,将(u,v)和这条路径上的第一条边交换,这个边连接A中的一个顶点,同时连接VA中的一个顶点。一个比T加权更小的扩展树产生了。,考虑T中从u到v的的一的简单路径.,证明.假设(u,v)T.粘贴和拷贝.,(u,v)=连接A和VA的最小加权边,定理的证明,6/2/2020,算法设计与分析-贪心算法I,14,思路:用优先队列Q维护VA。将Q中的每个顶点按照其和A中的顶点连接的边的最小权进行排序。,QVkeyvforallvVkeys0forsomearbitrarysVwhileQdouEXTRACT-MIN(Q)foreachvAdjudoifvQandw(u,v)keyvthenkeyvw(u,v)DECREASE-KEYvu最后,(v,v)组成了MST.,Prim算法,6/2/2020,算法设计与分析-贪心算法I,15,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,16,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,17,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,18,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,19,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,20,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,21,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,22,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,23,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,24,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,25,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,26,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,27,AVA,Prim算法举例,6/2/2020,算法设计与分析-贪心算法I,28,(V)总和,QVkeyv对所有vVkeys0对某个任意的sV,whileQ,|V|次,degree(u)次,douEXTRACT-MIN(Q),foreachvAdjudoifvQandw(u,v)keyv,then,keyvw(u,v),vu,握手定理隐含(E)次DECREASE-KEY.,时间=(V)TEXTRACT-MIN+(E)TDECREASE-KEY,Prim算法分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 瑞安护士考试题库及答案
- 2025小额信用贷款合同
- 2025年新版医师资格续期继续教育合作合同
- 2025儿科病房家具采购及安装合同
- c++ 自考试题及答案
- 2025年子女监护权让渡合同
- 农药考试题及答案
- 2025年废弃设备处置合作合同
- 食源性考试题及答案
- 2025年住宅购置合同样本标准版
- DB22-T3409-2022-餐饮用醇基液体燃料安全使用技术规范-吉林省
- 项目经理考核试题及答案
- 车载信息娱乐系统的设计与开发-全面剖析
- 安检岗位培训课件模板
- 2025-2030中国水产饲料原料和产品行业市场现状供需分析及投资评估规划分析研究报告
- 腹膜透析换液操作医学
- 静电检测专业知识培训课件
- 现代农业园区-规划设计方案
- 安全文明施工和质量管理制度
- 新媒体运营口薪酬考核制度150215
- 2024年湖南益阳市安化县医疗卫生单位招聘考试真题
评论
0/150
提交评论