并查集模板
2014-10-21 20:23
225 查看
其主要由查找函数和合并函数组成
有两种不同表现形式的查找函数,一种是递归代码简单不过比较费时间,一种是while循环代码相对长不过省时。
模板如下
有两种不同表现形式的查找函数,一种是递归代码简单不过比较费时间,一种是while循环代码相对长不过省时。
模板如下
int findx(int x) { int r; r=x; while(r!=bin[r]) { r=bin[r]; } int k,j; k=x; while(k!=r) { j=bin[k]; bin[k]=r; k=j; } return r; } void merge(int x,int y) { int fx,fy; fx=findx(x); fy=findx(y); if(fx!=fy) { bin[fx]=fy; } }
</pre><pre name="code" class="cpp">int find(int x) { if(x!=s[x]) s[x]=find(s[x]); return s[x]; } void un(int x,int y) { int fx=find(x); int fy=find(y); if(fx!=fy)s[fx]=fy; }
相关文章推荐
- 并查集模板
- POJ 2524 宗教信仰 并查集 基础模板
- 模板-并查集(kruskal)
- 并查集模板题 HDU1213 How Many Tables
- 【并查集模板】
- 并查集模板
- 【模板】并查集
- poj 1182 带权并查集模板
- 并查集_ 模板
- 并查集(模板)
- poj2236 Wireless Network(并查集直接套模板
- 杭电-1213 How Many Tables?(并查集模板)
- 并查集(union)模板
- hdu1213(并查集模板)
- Disjointset 并查集(按秩合并,与路径压缩)的模板
- [备战NOI同步赛]适合ACM-ICPC的并查集模板
- 克鲁斯卡尔算法模板(并查集完美结合)
- hdu1231 并查集模板题
- POJ 2524 宗教信仰 并查集 基础模板
- 并查集 模板