标签:turn nio 路径压缩 优化 col 函数 pre find 判断
struct union_find_set { int father[MAXN];//每个元素的祖先 union_find_set(int limit)//构造函数,对于每一个元素,其父亲初始化为它本身 { for(int i=1;i<=limit;i++) { father[i]=i; } } int find(int x)//找寻操作,使用路径压缩优化 { if(father[x]!=x) father[x]=find(father[x]); return father[x]; } void unite(int a,int b)//合并操作,实质是将一个集合的共同父亲赋值为另一个集合 { father[b]=a; } bool isSameSet(int a,int b)//判断是否在同一个集合里 { return (find(a)==find(b));//只要两个元素的祖先相同就可以 } };
标签:turn nio 路径压缩 优化 col 函数 pre find 判断
原文地址:https://www.cnblogs.com/jiangyuechen/p/12663168.html