并查集 学习笔记
2016-09-12 23:58
295 查看
并查集是由一组互不相交的集合组成的一个集合结构,并在此集合上定义了运算Union和Find。即并查集中的元素本身是集合,他们是某个集合的子集,并查集是由这些集合组成的集合结构。
并查集上有两个最基本的运算,Find和Union。函数Find搜索给定元素i所在的子集合,并返回该自己喝;Union运算将两个子集合合并为一个集合。
参考:http://www.oschina.net/code/snippet_1159061_37084
并查集需要继续深入理解!了解其应用场景,算法实现!!
并查集上有两个最基本的运算,Find和Union。函数Find搜索给定元素i所在的子集合,并返回该自己喝;Union运算将两个子集合合并为一个集合。
<span style="font-size:18px;">package DataStructureAndAlgorithm.UFset; public class UnionFindSet { private int[] set; private int[] size; private int count; public UnionFindSet(int n){ count=n; set=new int ; size=new int ; 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; } public boolean connected(int p,int q){ return find(p)==find(q); } public int count(){ return count; } } </span>
参考:http://www.oschina.net/code/snippet_1159061_37084
并查集需要继续深入理解!了解其应用场景,算法实现!!
相关文章推荐
- C#学习笔记:并查集
- 算法:并查集学习笔记
- 高级数据结构设计--并查集及实现学习笔记(有趣篇)
- 并查集学习笔记
- 高级数据结构设计--并查集及实现学习笔记(有趣篇)
- 例题:[codevs1073/tyvj1251]家族 并查集 学习笔记
- 【算法学习笔记】44. 并查集补充 SJTU OJ 3015 露子的星空
- BZOJ4537 [Hnoi2016]最小公倍数 (可撤销&&可持久化并查集学习笔记)
- 高级数据结构设计--并查集及实现学习笔记(有趣篇)
- 并查集学习笔记
- 并查集的学习笔记
- 并查集 学习笔记
- HDU1213 & 并查集的一些学习笔记
- 并查集学习笔记1
- 并查集学习笔记2
- 高级数据结构设计--并查集及实现学习笔记(有趣篇)
- 并查集学习笔记
- 算法分析学习笔记(一) - 动态连通性问题的并查集算法(上)
- Struts 学习笔记1 -Struts Framework 概览
- Win32学习笔记 第三章 HelloWin