Boruvka 最小生成树算法
Boruvka 在思想上算是 Kruskal 和 Prim 算法的结合,在
- 某个点出发的边的边权可以放在一起考虑
- 边权具有特殊性质
时具有较大优势。
算法流程
和 Kruskal 一样,我们维护若干个连通块。我们定义,连通块
初始时,每一个点
- 计算每一个点属于哪一个连通块,把这个连通块的最小边设为
None
- 遍历每一条边
,如果 不在同一个连通块内,用 更新这两个连通块 的最小边 - 如果所有连通块的最小边都是
None
,则结束;否则,将每个连通块的最小边加入答案,继续从循环