不相交集合数据结构保持一组不相交的动态集合S={S1,S2,...,SK},每个集合通过一个代表来识别,代表即集合中的某个成员。如果x表示一个对象,不相交集合支持以下操作:MAKE-SET(x):建立一个新的集合,其唯一成员为x。因为各集合是不想交的,故x没有在其它集合中出现。UNION(x,y):...
分类:
其他好文 时间:
2014-07-06 16:47:02
阅读次数:
182
2014.06.18 14:16简介: “并查集”,英文名为“union-find set”,从名字就能看出来它支持合并与查找功能。另外还有一个名字叫“disjoint set”,中文名叫不相交集合。可能我们倾向于用最短的名字,所以就出现了“并查集”翻译为“disjoint set”的情况。并查集....
分类:
编程语言 时间:
2014-06-28 19:55:37
阅读次数:
331
实现不相交集合数据结构的几种方式:
单纯的快速查找:
若id相同则在一个集合中,下图中,( 2, 3, 4, 9 )为一集合, 3 和 6 不在一个集合中
合并集合时,需逐个比较将两个集合的 id 统一,慢
缺陷:
合并慢
==================================================
2.单纯的快速合并:...
分类:
其他好文 时间:
2014-06-07 12:47:33
阅读次数:
266
出题:并查集(Union-Find
Sets)分析:一种树型数据结构,用于处理不相交集合(Disjoint
Sets)的合并以及查询;一开始让所有元素独立成树,也就是只有根节点的树;然后根据需要将关联的元素(树)进行合并;合并的方式仅仅是将一棵树最原始的节点的父亲索引指向另一棵树;优化:加入一个ra...
分类:
其他好文 时间:
2014-05-26 18:48:46
阅读次数:
290