七图图的连通性.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
七图图的连通性

例 :画出下图的生成树 例 :画出下图的生成树 25 12 34 19 26 46 38 17 25 A B E D C F A B E D C F 连通分量={A}, {B, E}, {C}, {D}, {F} 12 连通分量={A, F}, {B, E}, {C}, {D} 19 四.克鲁斯卡尔(Kruskal)算法 7.4 最小生成树问题 25 12 34 19 26 46 38 17 25 A B E D C F A B E D C F 连通分量={A, F}, {B, E}, {C}, {D} 12 连通分量={A, F}, {B, E}, {C, D} 19 17 四.克鲁斯卡尔(Kruskal)算法 7.4 最小生成树问题 25 12 34 19 26 46 38 17 25 A B E D C F A B E D C F 连通分量={A, F}, {B, E}, {C, D} 12 连通分量={A, F, C, D}, {B, E} 19 17 25 四.克鲁斯卡尔(Kruskal)算法 7.4 最小生成树问题 * * 数据结构 7.1 图的定义和术语 第七章 图 7.2 图的存储结构 7.3 图的遍历 7.4 图的连通性问题 7.5 有向无环图的应用 7.4 最小生成树问题 设G=(V,E)为连通图,则从图中任一顶点出发遍历图时,必定将E(G)分成两个集合T和B,其中T是遍历图过程中走过的边的集合,B是剩余边的集合:T∩B=?,T∪B=E(G)。显然G‘=(V,T)是G的一棵生成树。 由深度优先遍历得到的生成树称为深度优先生成树;由广度优先遍历得到的生成树称作广度优先生成树。 一. 生成树 DFS生成树 v0 v1 v2 v4 v4 v3 邻接表 4 3 2 1 0 ^ 1 3 3 4 ^ 1 4 2 ^ 0 v4 v3 v2 v1 v0 2 3 ^ 1 4 2 ^ 0 v0 v2 v1 v4 v3 v0 v1 v2 v4 v4 v3 v0 v1 v2 v4 v4 v3 邻接表 4 3 2 1 0 ^ 1 3 3 4 ^ 1 4 2 ^ 0 v4 v3 v2 v1 v0 2 3 ^ 1 4 2 ^ 0 BFS生成树 v0 v1 v3 v2 v4 v0 v1 v2 v4 v4 v3 P171 P172 结论: 采用不同遍历方法,对一个图从不同顶点出发及所有的存储结构不同均可得到不同的生成树;但它们有很多共性: 生成树的顶点个数与图的顶点个数相同; 具有n个顶点的无向连通图至少有n-1条边,而n个顶点的生成树正好有n-1条边。 生成树中任意两个顶点间的路径是唯一的,若在生成树中任意加一条边必会形成回路;删去一条边定会非连通。 一. 生成树 7.4 最小生成树问题 二. 最小生成树 问题:欲在n个城市间建立通信网,则n个城市应铺n-1条线 路;但因为每条线路都会有对应的经济成本,而n个城 市可能有n(n-1)/2 条线路,那么,如何选择n–1条线 路,使总费用最少? 顶点———表示城市,有n个; 边————表示线路,有n–1条; 边的权值—表示线路的经济代价; 连通网——表示n个城市间通信网。 数学模型: n个顶点的生成树很多,需要从中选一棵代价最小的生成树,即该树各边的代价之和最小。此树便称为最小生成树MST(Minimum cost Spanning Tree) 问题抽象: 二. 最小生成树 问题:欲在n个城市间建立通信网,则n个城市应铺n-1条线 路;但因为每条线路都会有对应的经济成本,而n个城 市可能有n(n-1)/2 条线路,那么,如何选择n–1条线 路,使总费用最少? n个顶点的生成树很多,需要从中选一棵代价最小的生成树,即该树各边的代价之和最小。此树便称为最小生成树MST(Minimum cost Spanning Tree) 问题抽象: 1 6 5 4 3 2 7 13 17 9 18 12 7 5 24 10 1 6 5 4 3 2 7 13 17 9 18 12 7 5 24 10 三.普里姆(Prim)算法 思路: 设N=(V, {E})是连通网,TE是N上最小生成树边的集合。算法从U={v0|v0∈V} ,TE={ }开始,重复执行下列操作:在所有u∈U,v∈V-U的边(u,v) ∈E中找一条代价最小的边(u0,v0)并入集合TE,同时v0并入U,直至U=V为止。此时TE中必有n-1条边,则T=(V, {TE})为N的最小生成树。 7.4 最小生成树问题 三.普里姆(Prim)算法 伪代码

文档评论(0)

taotao0c + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档