并查集
并查集是一种十分好用的树形数据结构,用来合并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,

并查集是一种用于合并树的数据结构,常用于判断图中环的存在和最小生成树算法。本文介绍并查集的原理、优化方法——按秩合并和路径压缩,并提供Java代码实现。通过按秩合并减少树深度,路径压缩则提高查找根节点的效率,达到O(1)的时间复杂度。此外,还分享了蓝桥杯相关的例题供练习。
最低0.47元/天 解锁文章
1324

被折叠的 条评论
为什么被折叠?



