Boruvka算法与Prim算法和Kruskal算法一样,也是一种贪心算法。Boruuvka算法最早可以追溯到1926年,当时用于构建高效电力网络。尽管是最古老的最小生成树算法,但Boruvka算法的时间复杂度为O(E log V),与Kruskal算法和Prim算法相同。
Boruvka算法原理
1、输入是一个连通的加权无向图。
2、将所有顶点初始化为单独的组件(或集合)。
3、将MST初始化为空。
4、有多个组件,执行以下操作
对于每个组件:
a.找到连接它的最近的权重边
b.如果尚未添加,则将此最近的边添加到MST。
5、返回MST。
从上述流程中可知,Boruvka算法生成树所有顶点都是连接的,两个不相交的顶点子集连接起来形成生成树,并且它们必须与最小权重边连接,这样才能输出最小生成树。