java 实践源码--并查集
来源:互联网 发布:社保报盘软件下载 编辑:程序博客网 时间:2024/05/22 06:24
package unionFindSet;public class UnionFindSet {private int[] set; private int[] size; private int count; public UnionFindSet(int n) { count = n; set = new int[n]; size = new int[n]; for (int i=0; i<n; ++i) { set[i] = i; size[i] = 1; } } public void union(int p, int q) { int x = find(p); int y = find(q); if (x == y) { return; } if (size[x] < size[y]) { set[x] = y; size[y] += size[x]; } else { set[y] = x; size[x] += size[y]; } count--; } public int find(int p) { while (p != set[p]) { p = set[p]; } return p; /*// path compression if (p != set[p]) { set[p] = find(set[p]); } return set[p]; */ } public boolean connected(int p, int q) { return find(p) == find(q); } public int count() { return count; }}
测试类
package unionFindSet;import unionFindSet.UnionFindSet;public class test { public static void main (String[] args) throws java.lang.Exception { UnionFindSet ufs = new UnionFindSet(10); ufs.union(1, 2); ufs.union(3, 4); ufs.union(5, 6); ufs.union(3, 6); ufs.union(7, 9); System.out.println(ufs.count()); System.out.println(ufs.find(6)); System.out.println(ufs.connected(4, 5)); System.out.println(ufs.connected(8, 9)); }}
0 0
- java 实践源码--并查集
- JAVA实践并查集
- 并查集C++源码
- 并查集C++源码
- 并查集数据结构java源码
- More is better---并查集实践
- java实现并查集
- java实现并查集
- 数据结构----并查集Java
- 小希的迷宫---并查集实践
- 并查集问题:简单java实现
- hihocoder 1066 并查集java实现
- 快速并查集(Java实现)
- java实现并查集算法
- 【Panoramic stitching】并查集(disjoint set)结构及源码
- java实践源码--哈弗曼树
- HDU3938 并查集 并查集
- 并查集(集并查)
- java接口 实例化
- Cordic 算法入门
- @CL之家caoliu之家dizhi
- MongoDB(二)——安装配置了解
- 深入理解指针—>指针函数与函数指针的区别
- java 实践源码--并查集
- HDU 3812
- nike aRBI HMj Tq3Qm
- 读黑客与画家,吐槽的一些话——中国科学技术大学软件+冯开开+原创
- 通过show status 来优化MySQL数据库
- SHELL 学习
- 解决:centos 虚拟机上安装apache后,不能访问
- python的入门注意
- Android Animation动画(超详细)