并查集

来源:互联网 发布:保罗加索尔数据 编辑:程序博客网 时间:2024/06/09 14:47

       并查集是一种很基本的数据结构,可我以前竟不知道。最近做pku的acm online judge题遇到了,用起来很顺手,觉得这是一种很有用有数据结构。

       并查集是一种可以方便地进行以下三种操作的数据结构:

       合并两个集合;将一元素并入另一集体;判断两个元素是否属于同一个集合。

       例如,可以用数组很方便地实现一个并查集,对一个含有n个元素的并查集,可以用一个长度为n的数组实现,主要设计以下四种操作:

        初始化并查集:每个元素赋一不同的值,时间复杂度为O(n)。

        合并两个集合A和B:将所有标记为B集体的元素的标记变为A集体的标记,时间复杂度为O(n)。

        将一元素a并入集合A:时间复杂度为O(1)。

        判断两元素是否属于同一集体:只须比较标记,时间复杂度为O(1).