最小生成树--普里姆算法(Prim)

来源:互联网 发布:海盗湾中文域名 编辑:程序博客网 时间:2024/05/02 01:47

最小生成树:代码的7到12行先初始化了矩阵第一行的值,本来很奇怪,那其他行的值怎么办?看到最后的28--35行才知道,原来从下面开始会逐步初始化与上个顶点相关的边的值,最后能够把全部都初始化了。代码截图如下:



算法定义:
1).输入:一个加权连通图,其中顶点集合为V,边集合为E;
2).初始化:Vnew = {x},其中x为集合V中的任一节点(起始点),Enew = {},为空;
3).重复下列操作,直到Vnew = V:
a.在集合E中选取权值最小的边<u, v>,其中u为集合Vnew中的元素,而v不在Vnew集合当中,并且v∈V(如果存在有多条满足前述条件即具有相同权值的边,则可任意选取其中之一);
b.将v加入集合Vnew中,将<u, v>边加入集合Enew中;
4).输出:使用集合Vnew和Enew来描述所得到的最小生成树。

0 0
原创粉丝点击