并查集总结
来源:互联网 发布:java 数组长度限制 编辑:程序博客网 时间:2024/06/05 12:01
并查集是一种管理元素分组的数据结构,是使用树形结构实现的
作用:
1、查询元素a,b是否属于同一组
2、合并元素a,b所在的组(只能进行合并,无法进行分割)
注意:
为避免退化发生,需进行以下操作:
1、对于每棵树,记录数的高度rank
2、合并时如果两棵树的rank不同,从rank小的向rank大的连边
通过find可以路径压缩,使并查集更加高效。
并查集的实现:
int par[200005];//父亲int rank[200005];//数的高度void init(int n)//初始化{ for (int i = 0; i < n; i++) { par[i] = i; rank[i] = 0; }}int find(int x)//查询树的根,并实现路径压缩{ if (par[x] == x) return x; else return par[x] = find(par[x]);}void unite(int x, int y)//合并x,y所在的集合{ x = find(x); y = find(y); if (x == y) return ; if (rank[x] < rank[y]) par[x] = y; else { par[y] = x; if (rank[x] == rank[y]) rank[x]++; }}bool same(int x, int y)//判断x,y是否属于同一集合{ return find(x) == find(y);}
阅读全文
0 0
- 并查集总结
- 并查集总结
- 并查集总结
- 并查集总结
- 并查集总结
- 并查集--总结
- 并查集总结
- 并查集总结
- 并查集总结
- 并查集 总结
- 并查集总结
- 并查集总结
- 并查集总结
- 并查集总结
- 并查集总结
- 并查集总结
- 并查集总结
- 并查集总结
- 搭建开发环境
- SQL Server如何分配数据库角色权限
- 澳大利亚Latrobe大学质谱应用
- Servlet--servlet三大域对象
- POJ---- Pots ----BFS的路径回溯问题
- 并查集总结
- Unix Socket
- cs231n-2017-assignments2-TensorFlow.ipynb 数据分析
- Trident exactly once实现原理
- 2055来淄博旅游
- springmvc+json+ajax遇到404错误
- Linux Shell脚本执行方式
- IDEA工具创建Maven项目管理并配置settings.xml
- 航线设置(dp)