并查集
来源:互联网 发布:java byte类 编辑:程序博客网 时间:2024/06/05 05:06
并查集是一种树型数据结构。由一个整型数组和两个函数构成。数组pre[i]表示节点i的父节点,两个基本操作有查找findRoot和合并union。
递归实现查找:
int findRoot(int r){ if(r == pre[r]) return r; return findRoot(pre[r]);}查找并压缩路径:
int findAndCompress(int r){ if(r == pre[r]) return r; int s = r; while(s != pre[s]) s = pre[s]; while(r != s){ int tmp = pre[r]; pre[r] = s; r = tmp; } return s;}合并:
void union(int x, int y){ int rootx = findRoot(x); int rooty = findRoot(y); if(rootx != rooty) pre[rooty] = rootx;}
0 0
- HDU3938 并查集 并查集
- 并查集(集并查)
- HDU1232 并查集<并>
- 并查集
- 数据结构-并查集
- 并查集
- 并查集!
- 并查集
- 并查集
- 并查集
- 并查集
- 并查集总结
- 并查集学习
- 并查集
- 并查集
- 并查集
- 所谓并查集
- 并查集
- c++函数重载摘要
- Linux Pthread 深入解析
- 多段线性函数
- PHP缓存技术总结
- 可扩展Web架构与分布式系统
- 并查集
- jquery弹窗(系统提示框)效果
- 为什么要实现serializable接口作用
- 转行做游戏(1) 编译kbengine
- Android应用开发完全退出程序的通用方法
- NOIP2016提高A组集训第12场11.10 总结
- jvm学习
- FreeMarker模板引擎
- 未名