- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 图的应用 数据结构与算法 Data Structures and Algorithms * 8.1 图的生成树和最小生成树 在一个连通图G中,如果取它的全部顶点和一部分边构成一个子图G′ ,即: V(G’)=V(G) 和 E(G’)?E(G) 若边集E(G’)中的边既将图中的所有顶点连通又不形成回路,则称子图G’是原图G的一棵生成树。 0 1 2 5 4 6 7 3 0 1 2 5 4 6 7 3 0 1 2 5 4 6 7 3 0 1 2 5 4 6 7 3 深度优先生成树 广度优先生成树 任意生成树 对于一个连通网(即连通带权图,假定每条边上的权均为大于零的实数)来说,生成树不同,每棵树的权(即树中所有边上的权值总和)也可能不同。 具有权最小的生成树称为图的最小生成树。 0 1 3 6 5 2 4 8 5 15 7 2 9 6 10 12 3 0 1 3 6 5 2 4 8 15 7 9 6 12 0 1 3 6 5 2 4 8 5 15 7 6 12 0 1 3 6 5 2 4 5 15 7 2 6 3 生成树1,权为57 生成树2 ,权为53 生成树3 ,权为38 8.1.2 普里姆算法 (2)从一个端点在T中,另一个端点在T外的边中,找一条最短边(i,j); 假设G=(V,E)是一个具有n个顶点的连通网,T=(U,TE)是G的最小生成树,其中U是T的顶点集,TE是T的边集,U和TE的初值均为空集。 (1)首先从V中任取一个顶点Vi,并将它并入U中; (3)将该边(i,j)和端点j并入T的边集TE和顶点集U; (4)重复上述过程。 0 1 3 6 5 2 4 8 5 15 7 2 9 6 10 12 3 0 3 1 5 2 4 6 5 15 7 2 6 3 T=(U,TE) V={0,1,2,3,4,5,6} G=(V,E) E={(0,1),(0,3),(1,2), (1,3),(1,4),(2,4), (2,5),(3,5),(3,6), (4,5)} U={ } TE={ } 0 1 3 6 5 2 4 8 5 15 7 2 9 6 10 12 3 0 1 2 3 4 5 6 0 1 2 3 4 5 6 关键:每次如何从生成树T中到T外的所有边中, 找出一条最短边。 第0次 U={0} TE={ } LW={(0,1)8,(0,2)∞,(0,3)5,(0,4)∞,(0,5)∞,(0,6)∞} 第1次 U={0,3} TE={(0,3)5} LW={(3,1)3,(0,2)∞,(0,4)∞,(3,5)7,(3,6)15} 第2次 U={0,3,1} TE={(0,3)5,(3,1)3} LW={(1,2)12,(1,4)10,(3,5)7,(3,6)15} 第3次 U={0,3,1,5} TE={(0,3)5,(3,1)3,(3,5)7} LW={(5,2)2,(5,4)9,(3,6)15} 第4次 U={0,3,1,5,2} TE={(0,3)5,(3,1)3,(3,5)7,(5,2)2} LW={(2,4)6,(3,6)15} 第5次 U={0,3,1,5,2,4} TE={(0,3)5,(3,1)3,(3,5)7,(5,2)2,(2,4)6} LW={(3,6)15} 第6次 U={0,3,1,5,2,4,6} TE={(0,3)5,(3,1)3,(3,5)7,(5,2)2,(2,4)6,(3,6)15} LW={ } weight endvex fromvex 5 4 3 2 1 0 CT 0 1 8 0 2 ∞ 0 3 5 0 4 ∞ 0 5 ∞ 0 6 ∞ 8.1.3 克鲁斯卡尔算法 将图G中的边按权值从小到大的顺序依次选取,若选取的边使生成树T不形成回路,则把它并入TE中,保留作为T的一条边;若选取的边使生成树T形成回路,则将其舍弃,如此进行下去,直到TE中包含有n-1条边为止,此时的T即为最小生成树。 假设G=(V,E)是一个具有n个顶点的连通网,T=(U
文档评论(0)