目录
求图的最小生成树的典型算法:
克鲁斯卡尔(Kruskal)算法
普里姆(Prim)算法
注:考虑问题的出发点相同:为使生成树上边的权值之和达到最小,则应使生成树中每一条边的权值尽可能的小。
一、克鲁斯卡尔(Kruskal)算法
1)概述
-
先构造一个只含n个顶点的子图SG,然后从权值最小的边开始,若它的添加不使SG中产生回路【不产生回路】,则在SG上加上这条边,如此重复,直至加上n-1条边为止。
本文对比分析了求解最小生成树的克鲁斯卡尔和普里姆算法,详细阐述了两种算法的原理、步骤、性能及适用场景。克鲁斯卡尔适合稀疏图,按边权值排序逐步添加;普里姆适合稠密图,以顶点为中心向外扩展。
求图的最小生成树的典型算法:
克鲁斯卡尔(Kruskal)算法
普里姆(Prim)算法
注:考虑问题的出发点相同:为使生成树上边的权值之和达到最小,则应使生成树中每一条边的权值尽可能的小。
先构造一个只含n个顶点的子图SG,然后从权值最小的边开始,若它的添加不使SG中产生回路【不产生回路】,则在SG上加上这条边,如此重复,直至加上n-1条边为止。
7261
1万+
