收藏 分享(赏)

中科院算法课程第6-1节-图算法-最小生成树.ppt

上传人:精品资料 文档编号:8554382 上传时间:2019-07-03 格式:PPT 页数:21 大小:922.50KB
下载 相关 举报
中科院算法课程第6-1节-图算法-最小生成树.ppt_第1页
第1页 / 共21页
中科院算法课程第6-1节-图算法-最小生成树.ppt_第2页
第2页 / 共21页
中科院算法课程第6-1节-图算法-最小生成树.ppt_第3页
第3页 / 共21页
中科院算法课程第6-1节-图算法-最小生成树.ppt_第4页
第4页 / 共21页
中科院算法课程第6-1节-图算法-最小生成树.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、2019/7/3,1,电子与通信工程学院,第6.1节 最小生成树 Mining Spanning Tree,1,6.1.1 图的表示 6.1.2 Kruskal算法 6.1.3 Prim 算法 6.1.4 Object Representation 应用例,提纲,2019/7/3,2,6.1.1 图的表示,图 G(V, E) 表示以V为顶点集,以E为边集的图 常用|V|, |E|表示图的输入规模,1,4,2,5,3,6,无向图,有向图,6.1.1 图的表示,邻接矩阵与邻接表,无向图,有向图,1 2 3 4 5,1 2 3 4 5,1 2 3 4 5 6,1 2 3 4 5 6,|V|x|V|,

2、6.1.1 图的表示,图 G(V, E) 表示以V为顶点集,以E为边集的图 常用|V|, |E|表示图的输入规模,问题的定义 优化解结构分析Greedy选择性Kruskal算法算法复杂性算法正确性证明,6.1.2 最小生成树问题 Minimal spanning tree,问题的定义,生成树设G=(V, E)是一个边加权无向连通图. G的生成 树是无向树S=(V, T), TE, 以下用T表示S. 如果 W: E实数 是G的权函数, T的权值定义为W(T)=(u,v)TW(u,v). 最小生成树G的最小生成树是W(T)最小的G之生成树.问题的定义 输入: 无向连通图G=(V, E), 权函数W

3、 输出: G的最小生成树,例,算法过程,B,C,A,E,D,70,60,80,50,定理1. 设T是G的最小生成树. 如果T包含子树T1和T2, T1是G的子连通图G1的生成树,T2是G的子连通图G2的生成树,则T1是G1的最小 生成树,T2是G2的最小生成树.证.,优化解的结构分析,Greedy选择性,一般算法初始: A为空集合反复扩展边集合A, 直至A成为最小生成树循环不变命题 每次循环算法要保持下边循环不变命题为真 “在每次循环前,A必是某个最小生成树的子集”在每次循环中, 如果A(u, v)是某个最小生成树的子集,则称边(u, v)是安全边,一般算法的定义 Generic-MST(G,

4、 W) 1. A=; /* 不变命题真 */ While A 不是生成树 Do /* 不变命题真 */寻找一个安全边(u, v);A=A (u, v) ; Return A /* 不变命题真 */,算法的关键是第三步, 寻找安全边(u, v),寻找安全边的规则 定义1. 无向图G=(V, E)的一个划分是V的一个划分 (S, V-S). 定义2. 如果uS, vV-S, 则边(u, v)称为划分(S, V-S)的交叉边. 定义3. 如果边集合A中没有边是划分(S, V-S)的交叉边, 则称划分(S, V-S)尊重A. 定义4. 如果在所有(S, V-S)的交叉边中, (u, v)的权值最小划分

5、(S, V-S)的交叉边(u, v)称为轻边. 定义5.如果在满足该性质的边中, (u, v)的权值最小边(u, v)是满足某性质的轻边.,示例,黄结点集合是S浅蓝结点集合是V-S蓝边是交叉边, 权为7的边是轻边红边集合是受尊重的边集合,定理1. 设G=(V, E)是具有边加权函数W的无向连通图, AE是包含在G的某个最小生成树中的边集合, (S,V-S)是G的尊重A的任意划分, (u,v)是(S,V-S)的交叉轻边, 则(u, v)对A是安全的.证. 令T是包含A的最小生成树.如果(u, v)属于T, 则(u, v)对A是安全的.设(u, v)不属于T. 我们构造一个G的最小生成树 T, 使

6、其包含A(u, v), 从而证明(u, v)安全.,由于u和v在划分(S, V-S) 的两边, T至少存在一条交叉边在p中, 设为(x, y). 由于划分尊重A, (x, y)不在A中. 删除 p中的(x, y), 增加(u, v), 得到 T=T - (x, y) (u, v). 往证T是最小生成树.因为(u, v)是轻交叉边, (x, y)是交叉边, W(u, v)W(x, y). W(T)=W(T)-W(x,y)+W(u,v)W(T)由于T是最小生成树, W(T)=W(T).T是最小生成树, A (u,v) T, (u, v)对于A是安全的.,S=黄结点集合V-S=浅蓝结点集合A=红边集

7、合,推论1. 设G=(V, E)是具有边加权函数W的无向连通图, AE是包含在G的某个最小生成树中的边集合, C=(VC , EC)是森林GA=(V, A)中的树. 如果(u, v)是连接C和GA中另一个树的交叉轻边, 则(u, v) 对A是安全的.证. 划分(VC , V-VC)尊重A. (u, v)关于这个划分的交叉轻边. 于是, (u, v)对A是安全的.,Kruskal算法,MST-Kruskal(G,W) 1. A=; 2. For vVG DoMake-Set(v); /* 按照W值的递增顺序排序EG;For (u, v)EG (按W值的递增顺序) DoIf Find-Set(u)Find-Set(v)Then A=A(u, v); Union(u, v);Return A,算法复杂性,令n=|V|, m=|E| 第4步需要时间: O(mlogm) 第2-3步执行O(n)个Make-Set操作第5-8步执行 (n)个Find-Set和Union操作每个Find-Set和Union操作O(n)mn-1(因为G连通), (n)=O(logn)=O(logm) 总时间复杂性:O(mlogm),算法正确性,定理2. MST-Kruskal(G,W)算法能够产生图 G的最小生成树.证. 因为算法按照Greedy选择性进行局部优化选择.,谢 谢,2019/7/3,21,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报