第七章 并查集
并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。
为了形象地理解并查集的含义,我们先来看一道例题:
初步分析本题是一个图论中判断两个点是否在同一个连通子图中的问题。我们以样例建立无向图如图7.1所示(人为顶点,关系为边):
当判断某两人是否为亲戚时,只需检查相应的两顶点是否在同一个连通子图中即可。如果两顶点在同一个连通子图中,则他们是亲戚,否则就不是。显然除6以外,1,2,3,4,5互为亲戚。
但是这种算法的最大问题是:我们无法存下多至2000000条边的图,更不可能在规定的时限内算出结果。
因此我们引入并查集算法:
无所不在的宗教
【题目描述】 无所不在的宗教(POJ 2524)