摘要: 在一些应用问题中,需要将n个不同的元素划分成一组不相交的集合。开始时,每个元素自成一个单元素集合,然后按一定规律将归于同一组元素的集合合并。在此过程中要反复用到查询某个元素归属于哪个集合的运算。适合于描述这类问题的抽象数据类型称为并查集。 并查集支持3中操作:(1)Union(root1,root2) 把子集合root2并入集合root1中,要求root1与root2互不相交,否则不执行合并。(2)Find(x)搜索单元素x所在的集合,并返回该集合的名字。(3)UFSets(sz) 构造一个并查集,并将所有元素的元素初始化为只有一个单元素的子集合。#include<iostream> 阅读全文
posted @ 2011-03-16 10:40 糖拌咸鱼 阅读(287) 评论(0) 推荐(0) 编辑