一般用于合并集合并查找集合
1 int find(int x) {//查找x的祖先 2 if (pre[x] == x)return x; 3 return pre[x] = find(pre[x]);//压缩路径 4 } 5 void join(int x, int y) { 6 int fx = find(x), fy = find(y);//查找这两个数的祖先 7 if (fx != fy)pre[fx] = fy; 8 //如果x和y的祖先不一样,那么将y的祖先变为x的祖先的祖先 9 //简单来说就是将两个集合合并 10 }
标签:pre,fx,int,fy,查集,祖先,find From: https://www.cnblogs.com/DLSQS-lkjh/p/17601029.html