并查集
并查集是一种十分好用的树形数据结构,用来合并2棵树
并查集原理:就是每次给定2个节点,然后通过找他的父亲节点,直到找到根节点,如果2个节点的根节点不是同一个,则说明这2个节点不在同一个树上,则合并2棵树
并查集应用一般可以判断图中存不存在环
最小生成树Kurskal算法(克鲁斯卡尔算法)也是运用并查集来实现的.(有兴趣的可以下去自己学学看),这里不做详细说明
对最小生成树感兴趣的可以查看我的另外一篇博客-----最小生成树prim算法和kruskal算法
并查集实现可以分为寻找根和合并根2部分来实现
具体实现
//这里是判断一个图中存不存在环
/**
* @author Bhg
* @date 2020/3/22
*/
public class Demo1 {
static int parent[];
//初始化
private static void initialize(int[] parent) {
for (int i = 0; i < parent.length; i++) {
parent[i]=-1;
}
}
public static void main(String[]args){
parent=new int[6];
initialize(parent);
int [][]set={
{
0,1},{
1,2}