Prim-普里姆算法

思路:

从与已选顶点所关联的未选边中找出权重最小的边,并且生成树不存在环。

其中,已选顶点是构成最小生成树的结点,未选边是不属于生成树中的边。

图解:

Prim算法&Kruskal算法—最小生成树

ps:Prim算法看起来与Dijkstra有些相似,笔者将在另一篇博客里对它们的区别进行分析

 

Kruskal-克鲁斯卡尔算法

思路:

(1)将边按权值从小到大的顺序添加到新图中,保证添加的过程中不会形成环 
(2)重复上一步直到连接所有顶点,此时就生成了最小生成树。这是一种贪心策略。

将图中所有边按照权重的大小 从小到大一个一个按顺序组合成最小生成树,在组合过程新加入的边会导致生成树形成环,那这条边就舍弃,直到所有顶点都添加到生成树中为止。

图解:

Prim算法&Kruskal算法—最小生成树

相关文章: