普里姆算法:从连通图的某个顶点出发,开始查找与该顶点有边的权值最小的边,加入最小生成树,然后再查找已加入最小生成树的顶点的边中权值最小的边(如果是这个最小边链接的另外一个顶点已经加入了最小生成树,则跳过该边)。此算法更适用于于稠密图
V0为起点(每个顶点都可以是起点,最终结果是一样的),首先将V0加入最小生成树,然后与V0连通的V1和V5中V1的权值较小,所以将V1加入最小生成树。此时与V0和V1连通的顶点有V5,V6,V8,V2,因为V0与V5的边权值最小,故将V5加入最小生成树,此时与最小生成树中的顶点有边连通的顶点有V4,V6,V8,V2。由于此时V1到V8的边权值最小,所以将V8加入最小生成树。按以上步骤得到一下图
最终生成的最小声场数为图6
克鲁斯卡尔算法:按照权值从小到大,依次加入最小生成树,如果加入过程中发现该边对应的顶点已经加入到最小生成树中,则根据规则将下一条权值最小的边对应的顶点加入到最小生成树中。该算法针对边来计算,所以边数较少时速度较快。如下图
边加入的顺序为V4与V7,V2与V8,V0与V1,V0与V5,V1与V8,V1与V6和V3与V7,此时应该加入下一个权值为17的V5与V6,但由于V5和V6都已经加入了,所以要跳过。最后将V6与V7加入。