20128月16日并查集的应用.docVIP

  • 1
  • 0
  • 约7.35千字
  • 约 11页
  • 2015-09-04 发布于安徽
  • 举报
并查集 (Union-Find Sets)及其应用 并查集: (union-find sets)是一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多。一般采取树形结构来存储并查集,并利用一个rank数组来存储集合的深度下界,在查找操作时进行路径压缩使后续的查找操作加速。这样优化实现的并查集,空间复杂度为O(N),建立一个集合的时间复杂度为O(1),N次合并M查找的时间复杂度为O(M Alpha(N)),这里Alpha是Ackerman函数的某个反函数,在很大的范围内(人类目前观测到的宇宙范围估算有10的80次方个原子,这小于前面所说的范围)这个函数的值可以看成是不大于4的,所以并查集的操作可以看作是线性的。它支持以下三种操作:   -Union (Root1, Root2) //并操作;把子集合Root2并入集合Root1中.要求:Root1和 Root2互不相交,否则不执行操作.   -Find (x) //搜索操作;搜索元素x所在的集合,并返回该集合的名字.   -UFSets (s) //构造函数。将并查集中s个集合初始化为s个只有一个单元素的子集合.   -对于并查集来说,每个集合用一棵树表示。   -集合中每个元素的元素名分别存放在树的结点中,此外,树的每一个结点还有一个指向其双亲结点的指针。   -设 S1= {

文档评论(0)

1亿VIP精品文档

相关文档