最小生成树
在含有n个顶点的连通网中选择n-1条边,构成一个极小连通图,并使这个连通图的边上的权值之和最小,这就是最小生成树。
构造下图的最小生成树
Prim(普利姆)算法
从图中的任意节点出发,选择子树中节点与图中其余节点之间的最小权重边来生成子树,直到得到一棵图G的生成树为止。(以点为基础开始)
时间复杂度 O(n^2)
Kruskal(克鲁斯卡尔)算法
先构造一个只含n个顶点的子图,然后从权值最小的边开始,若它的添加不使子图中产生回路,则在子图上加上这条边,如此重复,直至加上n-1条边为止。(以边为基础)
时间复杂度 O(eloge)(e为网中边数)