第6章 专题3-最小生成树1.pptVIP

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

v1 考察最短边(v1, v4): parent[0]=-1 parent[1]=-1 parent[2]=-1 parent[3]=-1 parent[4]=-1 parent[5]=-1 6.3 最小生成树 v5 v0 v4 v3 v2 12 Kruskal算法——运行过程 ?1 v1 考察最短边(v2, v3): parent[0]=-1 parent[1]=-1 parent[2]=-1 parent[3]=-1 parent[4]=1 parent[5]=-1 6.3 最小生成树 v5 v0 v4 v3 17 12 Kruskal算法——运行过程 ?2 v1 v1 v2 考察最短边(v0, v5): parent[0]=-1 parent[1]=-1 parent[2]=-1 parent[3]=2 parent[4]=1 parent[5]=-1 6.3 最小生成树 v5 v4 v3 17 12 19 v1 v1 v2 Kruskal算法——运行过程 ?0 v0 考察最短边(v2, v5): parent[0]=-1 parent[1]=-1 parent[2]=-1 parent[3]=2 parent[4]=1 parent[5]=0 6.3 最小生成树 Kruskal算法——运行过程 v5 v4 v3 17 12 19 v1 v1 v2 v0 ?2 25 考察最短边(v3, v5): parent[0]=2 parent[1]=-1 parent[2]=-1 parent[3]=2 parent[4]=1 parent[5]=0 6.3 最小生成树 考查边(v3, v5),由于parent[3]=2,parent[2]=-1,则v3所在生成树的根结点是v2 , 而parent[5]=0,parent[0]=2,则v5所在生成树的根结点也是v2 ,故舍去此边。 Kruskal算法——运行过程 v5 v4 v3 17 12 19 v1 v1 v2 v0 25 25 考察最短边(v4, v5): parent[0]=2 parent[1]=-1 parent[2]=-1 parent[3]=2 parent[4]=1 parent[5]=0 6.3 最小生成树 Kruskal算法——运行过程 v5 v4 v3 17 12 19 v1 v1 v2 v0 ?1 25 26 数据结构(C++版) 清华大学出版社 专题3:最小生成树 1 2 3 最小生成树的定义 Prim算法 Kruskal算法 4 MST性质 生成树的代价:设G = (V, E)是一个无向连通网,生成树上各边的权值之和称为该生成树的代价。 最小生成树:在图G所有生成树中,代价最小的生成树称为最小生成树。 6.3 最小生成树 最小生成树的定义 最小生成树的概念可以应用到许多实际问题中。 例:在n个城市之间建造通信网络,至少要架设n-1条通信线路,而每两个城市之间架设通信线路的造价是不一样的,那么如何设计才能使得总造价最小? MST性质 假设G=(V, E)是一个无向连通网,U是顶点集V的一个非空子集。若(u, v)是一条具有最小权值的边,其中u∈U,v∈V-U,则必存在一棵包含边(u, v)的最小生成树。 顶点集U V-U u v v u 顶点集 T1 T2 6.3 最小生成树 MST性质 顶点集U V-U u v v u 顶点集 T1 T2 6.3 最小生成树 设T是图G的一棵最小生成树,将T中的顶点集分成两部分: ·顶点集U:U和相关的边构成一棵最小生成子树T1; ·顶点集V-U:V-U和相关的边构成一棵最小生成子树T2。 则T1和T2之间只能有一条边,不妨设为(u’,v’),且u和u’ 之间、v和v’之间均是连通的 MST性质 顶点集U V-U u v v u 顶点集 T1 T2 6.3 最小生成树 当将边(u,v)加入T中时,由生成树的定义,T中必存在一条包含边(u,v)的回路,删去边(u,v)便可消除上述回路,同时得到另一棵生成树T 。因为边(u,v)的权值小于等于边(u,v)的权值,则T 的代价亦小于等于T的代价,则T 是一棵最小生成树,且包含边(u,v)。这与假设矛盾,由此性质得证 基本思想:设G=(V, E)是一个连通网,T=(U, TE)是G的最小生成树,T的初始状态为U={u0}(u0∈V),TE={ },重复执行下述操作:在所有u∈U,v∈V-U的边中找一条代价最小的边(u, v)并入集合TE,同时v并入U,直至U=V。 普里姆(Prim)算法 6.3 最小生成树 Prim算法的基本思想用伪代码描述如下: 1. 初始化:U = {v0}; TE={ }; 2. 重复下

文档评论(0)

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

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

1亿VIP精品文档

相关文档