不相交集合的定义和操作
不相交集合的数据结构保持一组动态集合,每个集合通常有一个代表(也是该集合的成员),用以标识该集合。显然,由于这组动态集合是不相交的,那么集合代表(标识)自然也是独一无二的。对于不相交集合,我们希望其能够支持以下操作:
1、MAKE-SET(x):创建一个集合,只含有一个元素x,那么该集合的代表自然就是x;
2、FIND-SET(x):返回元素x所在的集合,即该集合的标识(代表);
3、UNION(x,y):合并x和y分别所属的集合,合并后的集合的代表是x(或者y)所属集合的代表。
不相交集合的链表表示
这个不讨论了,比较简单。
习题21.1-3
2|E|,|V| - k
习题 21.2-4
时间O(n),UN