4506人加入学习
(26人评价)
《数据结构》
价格 免费
音频听课 手机端支持一键听课 (试一试)

构造最小生成树的算法有许多基本原则:

尽可能选取值最小的边,但不能构成回路

选择n-1条边构成最小生成树

[展开全文]

对于下所示的带权无向图,

1)按照Prime算法给出从顶点2开始构造最小生成树的过程;

2)按照Kruskal算法给出最小生成树的过程;

1)答:普里姆算法的基本思想:普里姆算法是另一种构造最小生成树的算法,它是按逐个将顶点连通的方式来构造最小生成树的。

从连通网络N={V,E}中的某一顶点uO出发,选择与它关联的具有最小权值的边(HO,v)将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(U,v),把该边加入到生成树的边级TE中,把它的顶点加入到集合U中。如此重复执行,直到网络中的所有顶点都加入到生成树顶点集合U中为止。

2)答:Kruskal算法是一种按照连通网中边的权值的递增顺序构造最小生成树的算法。Kurskal算法的基本步骤:假设G=(V,E)是一个n个顶点的联通网,T=(U,TE)是G的最小生成树。令集合U的初始值为U=V,即包含有G中的全部顶点,集合TE的初值为TE={}0然后,将图G中的边按权值从小到大的顺序依次选取,若选取的边使生成树T不形成回路,则把它并入TE中,保留作为T的一条边;若选取的边使生成树T形成回路,则将其舍弃,如此进行下去,直到TE中包含有ml条边为止,此时的T即为最小生成树。

[展开全文]

授课教师

数据机构

课程特色

PPT(62)
视频(67)