并查集(Unio-Find)

并查集解决的问题?
  1. 连接问题:并查集可以很好的解决网络中的连接状态。网络指的是很多的个体,个体之间可能存在关系。并查集就可以很好的来表示这个网络的状态。
  2. 集合操作:另外,并查集还很好的解决数学中的集合操作,比如求两个结合的相同部分和和并两个集合。
package 并查集;

/**
 * 并查集
 */
public class UnionFind {
    private int[] parent;//保存父节点信息
    private int[] rang;//保存节点的等级信息,当合并的时候会有作废信息产生
    private int size;

    /**
     * 
     * @param size
     */
    public UnionFind(int size){
        parent = new int[size];
        this.size=size;
            for(int i=0;irangq){
                    parent[pq]=pp;
                }else if(rangp

你可能感兴趣的:(并查集(Unio-Find))