Kruskal算法实现最小生成树(Java)
Kruskal算法是求连通网的最小生成树的另一种方法。与普里姆算法不同,它的时间复杂度为O(eloge)(e为网中的边数),所以,适合于求边稀疏的网的最小生成树。(百度百科)
实验代码如下:
package 算法学习;
import java.util.ArrayList;
import java.util.Collections;
public class kruskal {
public static void main(String[] args) {
int[][] edges = {
{0, 1, 6},
{0, 2, 1},
{0, 3, 5},
{2, 1, 5},
{2, 3, 5},
{2, 4, 5},
{2, 5, 4},
{1, 4, 3},
{4, 5, 6},
{5, 3, 2}
};
int n = 6;
int[][] mstEdges = kruskal(n, edges);
int totalCost = 0;
System.out.println("Edges of MST: [node1, node2, cost]");
for (int i = 0;