并查集 路径压缩(模板+详解(狗头))

int Find(int xa){
    int xb=xa;  //把初始值赋给b 
    while(xa!=fa[xa]){
        xa=fa[xa];  //找到a的祖先节点 
    }
    while(xb!=xa){  //直到b==a为止 
        int temp=fa[xb]; //设一个中间变量为b的父亲节点 
        fa[xb]=xa; //直接让b的父亲节点为a的祖先节点 
        xb=temp;  //b等于b的父亲节点 
    }
    return xa;
}

 

上一篇:java获取文件路径的通用写法


下一篇:点和点之间的距离定义