一、定义
并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。
基础的并查集能实现以下三个操作:1.建立集合;2.查找某个元素是否在一给定集合内(或查找一个元素所在的集合); 3.合并两个集合.“并”“查”“集”三字由此而来。
并查集能解决的问题一般可以转化为这样的形式:初始时n个元素分属不同的n个集合,通过不断的给出元素间的联系,要求实时的统计元素间的关系(即是否存在直接或间接的联系)。
并查集本身不具有结构,可以用数组、链表以及树等实现。最常用的是数组实现。
二、实现
数组实现:
建立标记数组father,用father[i]表示元素i所属集合的标记。
图示 |
1.建立集合 2.合并集合&查找元素所属集合
|