图论 kruskal 最小生成树 稀疏图 java

并查集https://blog.csdn.net/aiwo1376301646/article/details/92806830

package 图论算法;
//在理解kruskal算法之前,请先学习一下,并查集,kruskal算法就是在并查集的基础上,延伸出的
//求最小生成树的算法,并且kruskal算法中的主要函数就是对并查集中函数的沿用
//链接https://blog.csdn.net/aiwo1376301646/article/details/92806830
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class kruskal {
	//初始化parent数组和rank数组
	public static void initialise(int []parent,int []rank) {
    	for(int i=0;irank[y_root]) {
    			parent[y_root]=x_root;
    		}
    		else if(rank[x_root]list=new ArrayList();
		for(int i=0;i{
	
	int from;
	int to;
	int quanzhi;
	
	public node(int from, int to, int quanzhi) {
		super();
		this.from = from;
		this.to = to;
		this.quanzhi = quanzhi;
	}
	
	public int compareTo(node o) {
		return this.quanzhi-o.quanzhi;
	}
}
/*
9
14
0 1 10
0 5 11
1 2 18
1 6 16
1 8 12
2 3 22
2 8 8
3 4 20
3 7 16
3 8 21
4 5 26
4 7 7
5 6 17
6 7 19
99
*/

/*
8
12
0 1 21
0 2 18
0 3 94
1 3 12
2 3 36
2 4 89
4 6 59
6 7 36
5 7 54
3 5 57
2 7 69
3 7 98
257
*/

/*
8
12
0 1 70
0 2 70
1 3 94
2 3 30
0 3 19
2 4 79
4 6 24
6 7 25
5 7 88
3 5 11
2 7 51
3 7 84
230
*/

 

你可能感兴趣的:(图论笔记)