并查集Java语言描述[按秩合并和路径压缩]

并查集

并查集是一种十分好用的树形数据结构,用来合并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}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值