数据结构第2版宗大华陈吉人数据结构课件-7课件教学.pptVIP

数据结构第2版宗大华陈吉人数据结构课件-7课件教学.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文档。上传文档
查看更多
* 2. 最小生成树的概念 . 无向连通图的生成树有如下性质: (1) 只要往生成树里添加一条属于原图中的边,就会产生回路; (2) 只要在生成树里减少任意一条边,它就成为了一个非连通图; (3) 无向连通图的生成树不是唯一的。 . 在无向连通网图G的生成树S里,称各边权值之和为该生成树的权。所有生成树中权值最小的那棵,被称作是图G的最小代价生成树,简称“最小生成树( MST)”。 . V1 V2 V3 V4 V5 V7 V6 5 9 16 15 7 4 V1 V2 V3 V4 V5 V7 V6 5 9 16 12 15 4 V1 V2 V3 V4 V5 V7 V6 6 5 12 7 4 8 (b) (c) (d) 图(b)所示的生成树,它的权值是:5+9+16+15+7+4=56 。 . 图(c)所示的生成树,它的权值是:5+9+16+15+12+4=61 。 . 图(d)所示的生成树,它的权值是:5+6+12+8+7+4=42 。它是前面给出的图(a) 的最小生成树。 构造无向连通网图G=(V, E)最小生成树的Prim算法的基本思想是,它总把图中的顶点分成两部分:U是已在MST中的顶点集合;V?U是还没有在MST的顶点集合。在V?U里挑选出与U中某个顶点相距最近(即权值最小)的那个顶点,把它从V?U移到U中。这样集合U不断扩大,V?U不断缩小,最后使U=V,V?U=Ф,算法结束。 7.4.2 构造最小生成树的算法 . 构造最小生成树的Prim算法 算法7-5 例: 利用Prim算法,求图(a)所示无向连通网图的最小生成树。 V1 V2 V3 V4 V5 V7 V6 6 5 9 13 16 12 15 7 4 8 (a) V1 V3 5 V1 V2 V3 6 5 V1 V2 V3 V6 6 5 12 V1 V2 V3 V6 6 5 12 V7 4 V1 V2 V3 V6 6 5 12 V7 4 V4 7 V1 V2 V3 V6 6 5 12 V7 4 V4 7 V5 8 (b) (c) (d) (e) (f) (g) 若挑出边的两个顶点属于S中的同一连通分量,那就从E中舍弃它,重新挑选,以避免在最小生成树S里形成回路; 不断实行(1)~(3)步,当S里只剩一个连通分量时,算法终止,该连通分量即为所求的图G的最小生成树S。 若挑出边的两个顶点分属S中的两个不同连通分量,那就从E中去除此边,用此边将S中的那两个连通分量连成一个连通分量,成为最小生成树S中的一个新连通分量; 构造最小生成树的Kruskal算法 算法7-6 算法设无向连通网图G=(V, E),最小生成树初态为S=(V, {Ф}); (2) 以图G的E为基础,按照各边的权值,由小到大对它们进行挑选; (3) (4) (5) V1 9 V5 V3 V4 V2 V6 7 5 2 6 1 2 1 (a) 例: 利用Krnskal算法,求图(a)所示无向连通网图的最小生成树。 V1 V5 V3 V4 V2 V6 (b) V1 V5 V3 V4 V2 V6 1 (c) V1 V5 V3 V4 V2 V6 1 1 (d) V1 V5 V3 V4 V2 V6 1 1 (e) 2 V1 V5 V3 V4 V2 V6 1 1 (f) 2 5 V1 V5 V3 V4 V2 V6 1 1 (g) 2 5 7 (1) 7.5.1 单源最短路径 V5 V6 V4 V2 V3 V1 10 2 4 8 15 28 13 18 4 源点 终点 最短路径 路径长度 v1 v2 v1→v3 →v2 19 源点 v3 源点 v4 源点 v5 源点 v6 v1→v3 v1→v3 →v6 →v4 v1→v3 →v2 →v5 v1→v3 →v6 4 25 29 12 求最短路径是图的又一典型应用。比如在城市交通中,从A市到B市有若干条道路可供选择,哪条路最近?哪条路运费最小? 如此等等。 . 最短路径分为单源最短路径和每对顶点间的最短路径两类问题,前者讨论的是图中某个顶点到其他各顶点的最短路径,后者讨论的是图中每对顶点间的最短路径。 . 所谓“单源最短路径”,即已知有向网图G=(V, E)和一个源(顶)点u,求u到其他各顶点的最短路径。 . Dijkstra提出的算法,是一种按图中路径长度的递增顺序、逐步产生出从单源点u到其他各顶点最短路径的方法。基本思路是把顶点分成两组:一组为U,里面包含从u到它们的最短路径已确定的顶点;另一组为V?U,里面包含从源点u到它们的最短路径还

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档