定义:
并查集(union-find disjoint sets)是一种树型的数据结构,又叫“不相交集合”,保持了一组不相交的动态集合,每个集合通过一个代表来识别,代表即集合中的某个成员,通常选择根做这个代表。用于处理一些不相交集合的合并及查询问题。常常在使用中以森林来表示。
特点:
- 并查集是由一群集合构成,最开始时所有元素各自单独构成一个集合。
- 当集合中只有一个元素时,这个集合的代表节点即为该元素,该元素的father也是自己。
- 当一个集合中有多个节点时,下层节点的father为上层节点,最上层节点的father指向自己,最上层的节点叫做这个集合的代表节点。
主要操作:
-
Make_Set(x):建立一个新的集合,其唯一成员就是x,因此这个集合的代表也是x,并查集要求各集合是不相交的,因此要求x没有在其他集合中出现过。
-
Find_Set(x):返回能代表x所在