版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 算法艺术与信息学竞赛 第七讲 最小生成树 2 声明 本系列教学幻灯片属于刘汝佳、黄亮著 算法艺术与信息学竞赛配套幻灯片 本幻灯片可从本书blog上免费下载,即使您 并未购买本书. 若作为教学使用,欢迎和作者联系以取得 技术支持,也欢迎提供有不同针对性的修 改版本,方便更多人使用 有任何意见,欢迎在blog上评论 Blog地址:http:/ 3 内容介绍 一、最小生成树问题 二、Boruvka算法 三、Prim算法 四、Kruskal算法 五、MST唯一性判定 六、瓶颈生成树 4 参考资料 CLRS Chapter 23. Minimal Spanning Trees 5 一、最小生成树问题
2、一、最小生成树问题(MST) 6 定义 连接每个点的连通图(一定是树) 权和尽量小 7 一般最小生成树算法 前提: 无相等边 维护生成森林F e为无用边无用边, 若e的两个端点在F的同一个分 量中, 但e不在F中 对于F的每一个分量 从它出去(即恰好有一个端点在此分量内)的最 小边为安全边安全边 不同的分量可以有相同的安全边 结论: MST含有所有安全边, 不含无用边. 8 一般最小生成树算法 结论: MST含有所有安全边, 不含无用边. 证明 假设有一个分量(黄色), 它的安全边e不在T内. 则u到 v有唯一路径, 它经过e, 它恰好有一个端点在黄色分 量中. 由于e是安全边, w(e)w(
3、e), 用e替换e得到更 小的T, 矛盾 加入无用边将形成环 9 练习 证明最小边属于某棵MST中 对于某环上的最大边e, 证明原图中删除e后 的MST和原来的相同 在图中减小一个边的权, 求新的MST 情况一: e在原MST中 情况二: e不在原MST中 10 二、二、Borovka算法算法 11 Boruvka算法 由Boruvka于1926年提出(早于图论产生!) 12 Boruvka算法 每个分量设置leader, 用DFS在m时间内求出 检查每条边一次以修正各分量的安全边权 第i次迭代每个分量大小至少为2i 最多logV次迭代, 总O(ElogV) 13 三、三、Prim算法算法 1
4、4 Prim算法 Prim提出, 但事实上Jarnik于1930于年更早提出 只关心一棵树T, 每次加入T的安全边 用堆保存到每个顶点(而非边)的安全边 Insert/ExtractMin调用V次, DecreaseKey调用E次 二叉堆: O(E+V)logV), Fibonacci堆: O(E+VlogV) 15 16 练习 给定邻接矩阵, 设计一个O(V2)算法 对于稀疏图中, 用k次Boruvka迭代可以加速 MST计算. 如何选取k, 使得k次迭代以后调 用Prim算法的时间复杂度变为O(EloglogV) 17 四、四、Kruskal算法算法 18 Kruskal算法 Kruska
5、l, 1956年提出 把边从小到大排序, 每次填加一个安全边 如何知道边是否安全? 并查集, 每次约O(1) 总O(ElogE + E(V) 19 20 21 练习 Kruskal返回的MST和边排序结果有关. 证 明对于任何一个MST, 都有一个排序方法使 得Kruskal返回此MST 如果边权为1|V|的整数, Kruskal的时间复 杂度如何? 如果边权在0, 1)上均匀分布, Kruskal和 Prim哪个算法更快? 计算出MST后, 如果加一个顶点和它所关联 的边, 如何快速更新MST? 22 五、五、MST唯一性判定唯一性判定 23 MST唯一性判定 考虑一般最小生成树算法 每一个分量出发安全边唯一, 不特殊处理, 否则 若同时添加会形成环, 一定不唯一 若同时添加不会形成环, 类似正确性证明, 即: 假设某边e不在T中, 对应的e一定比e大而不可能相等 24 MST唯一性判定 时间复杂度 Boruvka: 不变(只在和安全边比较时修改) Prim: 不变(只在判断顶点标号时修改) Kruskal: 不变(相等的边时特殊处理) 另一种思路: 最小=第二小 25 六、瓶颈生成树六、瓶颈生成树 26 基本问题 边的最大值最小的生成树成为G的瓶颈生成 树(bottleneck spanning tree), 把其中最大 的边称为它的权. 显然, MST是一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 三年级语文上册胡萝卜先生长胡子生字课件
- 江西省银行业专业人员中级职业资格考试(专业实务银行管理)试题及答案(2026年)
- 安徽2026年银行业专业人员初级职业资格考试(专业实务个人贷款)模拟题库及答案
- 2026年注册核工程师考试题库(附答案和详细解析)
- 2026年中小学教资面试答辩技巧测试卷(含答案及解析)
- 2026年烟台高速交警考试题库附答案【综合题】
- 城市青年教育焦虑的形成机制与教育观念更新路径-基于青年父母教育焦虑状况调查的实证分析
- 2026年农业植物病理学专业考试卷
- 2026年公路监控面试题及答案
- 2026年妇联干部培训测试题及答案
- 2026年新疆医科大学第五附属医院医护人员招聘考试参考题库附答案详解
- 2026年临床医师资格考试题
- 2026广东江门市新会公用环境建设集团有限公司招聘5人笔试备考试题及答案详解
- 改造工程监理大纲
- 《TSG08-2026特种设备使用管理规则》培训课件
- 纵隔肿瘤的护理与治疗
- 校服订购合同范本及售后服务方案
- 2026年大学生心理健康知识竞赛题库及答案(完整版)
- 装配生产车间报废制度
- (2025年)南昌市红谷滩区社区工作人员《网格员》考试全真模拟易错、难点汇编题库(附答案)
- 技术经理月度工作汇报
评论
0/150
提交评论