Prim-普里姆算法
思路:
从与已选顶点所关联的未选边中找出权重最小的边,并且生成树不存在环。
其中,已选顶点是构成最小生成树的结点,未选边是不属于生成树中的边。
图解:
ps:Prim算法看起来与Dijkstra有些相似,笔者将在另一篇博客里对它们的区别进行分析
Kruskal-克鲁斯卡尔算法
思路:
(1)将边按权值从小到大的顺序添加到新图中,保证添加的过程中不会形成环
(2)重复上一步直到连接所有顶点,此时就生成了最小生成树。这是一种贪心策略。
将图中所有边按照权重的大小 从小到大一个一个按顺序组合成最小生成树,在组合过程新加入的边会导致生成树形成环,那这条边就舍弃,直到所有顶点都添加到生成树中为止。
图解: