并查集
来源:互联网 发布:图形化编程的编译器 编辑:程序博客网 时间:2024/05/16 13:55
并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。
对这一结构的基本操作是:合并两个不同的集合;查找某一元素所在集合的根节点。
int rank[SIZE];//表示某一点所含有的子节点的最大高度int parent[SIZE];//表示某一元素的最顶层父节点
在初始化的时候,假设每个元素分别各自属于一个集合。
void initial(){ memset(rank,0,sizeof(rank)); for(int i=0;i<SIZE;++i) parent[i]=i;}
查找操作:
int find(int x){ while(x!=parent[x]) parent[x]=find(parent[x]);//在递归查找的同时进行路径压缩 return parent[x];}
合并操作:
void union(int x, int y){ int root_x=find(x); int root_y=find(y); if(root_x==root_y) return ; if(rank[root_x]>rank[root_y]) parent[root_y]=root_x; else{ parent[root_x]=root_y; if(rank[root_x]==rank[root_y]) ++rank[root_y]; }}
- HDU3938 并查集 并查集
- 并查集(集并查)
- HDU1232 并查集<并>
- 并查集
- 数据结构-并查集
- 并查集
- 并查集!
- 并查集
- 并查集
- 并查集
- 并查集
- 并查集总结
- 并查集学习
- 并查集
- 并查集
- 并查集
- 所谓并查集
- 并查集
- APC的内部实现
- android的手机任务管理器,关键功能实现方法总结
- 关于 Delphi 中流的使用(9) 分割与合并文件的函数
- 两个常用的DIV弹出层效果代码
- windows的makefile
- 并查集
- 设置水晶报表的刷新时间(预防参数丢失的情况)
- JAVA Hash
- DJANGO模型
- xml 语法提示
- oracle REGEXP_SUBSTR 函数的使用
- 问题
- 判断当前手机系统是否支持google map api
- 2010—2011年度总结