综合以上两个概念,我们可以得出:构造连通网的最小代价生成树,即最小生成树(Minimum Cost Spanning Tree)。...找连通图的最小生成树,经典的有两种算法,普里姆算法和克鲁斯卡尔算法,这里介绍普里姆算法。
为了能够讲明白这个算法,我们先构造网图的邻接矩阵,如图7-6-3的右图所示。
?...下面我们对着程序和每一步循环的图示来看:
算法代码:(改编自《大话数据结构》)
/* Prim算法生成最小生成树 */
void MiniSpanTree_Prim(MGraph MG)
{
...= 0 表示已经是生成树的顶点则不参加最小权值的查找。...即最小生成树的边为:(0, 1), (0, 5), (1, 8), (8, 2), (1, 6), (6, 7), (7, 4), (7, 3)
最后再来总结一下普里姆算法的定义:
Screenshot