并查集模版(Java)

Posted 海恋天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并查集模版(Java)相关的知识,希望对你有一定的参考价值。

并查集模版(Java)

  • 初始化,找集合老大,合并集合

public class UnionFind {

    public int[] parent;
    public int n,m,sum;

    //开始时每个集合只有自己,所以集合老大也是自己
    public void Init()
    {
        for(int i = 1;i <= n;i++)
            parent[i] = i;
        return;
    }

    //获得该集合的老大,带路径压缩
    public int get_boss(int v)
    {
        if(parent[v] == v)
            return v;
        else
        {
            parent[v] = get_boss(parent[v]);
            return parent[v];
        }
    }

    //合并两个集合
    public void Merge(int v,int u)
    {
        int t1 = get_boss(v);
        int t2 = get_boss(u);
        parent[t2] = t1;
        return;
    }

}

 

以上是关于并查集模版(Java)的主要内容,如果未能解决你的问题,请参考以下文章

带权并查集(个人模版)

并查集(个人模版)

并查集(模版)

畅通工程(并查集模版题)

poj 1988Cube Stacking(图论--带权并查集 模版题)

并查集(Java实现)