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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中科院算法课程第6-1节-图算法-最小生成树

* * 电子与通信工程学院 qxye@gucas.ac.cn 第6.1节 最小生成树 Mining Spanning Tree * 6.1.1 图的表示 6.1.2 Kruskal算法 6.1.3 Prim 算法 6.1.4 Object Representation 应用例 提纲 * * 6.1.1 图的表示 图 G(V, E) 表示以V为顶点集,以E为边集的图 常用|V|, |E|表示图的输入规模 1 5 2 4 3 1 4 2 5 3 6 无向图 有向图 6.1.1 图的表示 邻接矩阵与邻接表 1 5 2 4 3 无向图 有向图 1 2 3 4 5 2 1 2 2 4 5 3 4 3 1 5 4 5 2 1 2 3 4 5 2 5 6 2 4 4 5 6 6 1 4 2 5 3 6 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 1 0 1 2 3 4 5 1 2 3 4 5 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 2 3 4 5 6 1 2 3 4 5 6 |V|x|V| 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), T?E, 以下用T表示S. 如果 W: E?{实数} 是G的权函数, T的权值定 义为W(T)=?(u,v)?TW(u,v). 最小生成树 G的最小生成树是W(T)最小的G之生成树. 问题的定义 输入: 无向连通图G=(V, E), 权函数W 输出: G的最小生成树 例 B C A E D 70 60 80 50 90 75 300 200 B C A E D 70 50 90 300 B C A E D 70 80 50 300 B C A E D 70 60 80 50 算法过程 B C A E D 70 60 80 50 90 75 300 200 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的最小生成树. 证. 优化解的结构分析 u v T1 T2 T Greedy选择性 一般算法 初始: A为空集合 反复扩展边集合A, 直至A成为最小生成树 循环不变命题 每次循环算法要保持下边循环不变命题为真 “在每次循环前,A必是某个最小生成树的子集” 在每次循环中, 如果A?{(u, v)}是某个最小生成树 的子集,则称边(u, v)是安全边 一般算法的定义 Generic-MST(G, 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. 如果u?S, v?V-S, 则边(u, v)称为划分(S, V-S) 的交叉边. 定义3. 如果边集合A中没有边是划分(S, V-S)的交 叉边, 则称划分(S, V-S)尊重A. 定义4. 如果在所有(S, V-S)的交叉边中, (u, v)的权值 最小划分(S, V-S)的交叉边(u, v)称为轻边. 定义5.如果在满足该性质的边中, (u, v)的权值最小 边(u, v)是满足某性质的轻边. 示例 d e f g c i h a b S V-S 7 8 11 8 14 黄结点集合是S 浅蓝结点集合是V-S 蓝边是交叉边, 权为7的边是轻边 红边集合是受尊重的边集合 定理1. 设G=(V, E)是具有边加权函数W的无向连通图,

文档评论(0)

hf916589 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档