并查集 - 元素的归属

I.综述&解释

顾名思义,并查集就是一种支持查询元素属于哪个集合、合并集合的数据结构。

II.起源

这个数据结构是为了解决维护若干不重叠集合而提出的。

用代表元的思想来区分不同的集合,而用树形关系表示所属,有效地平衡了查询与修改的时间复杂度。

同时,引入的两种优化,分别通过“选择性丢失信息”和“启发式合并”的策略对并查集进行优化。

不过,这也使得并查集难以对集合进行分裂,因为为了能够快速地修改集合归属,并查集在进行合并时只修改代表元素,以及在进行“路径压缩”优化时改变了并查集结构,这使得集合原有归属信息丢失,使得我们难以进行差集操作。

III.基本操作

  • 初始化(init)

将每个元素的父元素初始化为自己。此时自己构成一个集合

  • 查找代表(get)

从元素递归向上,直到找到当前集合的代表元素

  • 并集(Merge)

执行get操作两次,找到两个集合的代表元素,将其一的父元素设为另一集合的代表元素

posted @ 2023-07-08 17:49  haozexu  阅读(20)  评论(0)    收藏  举报  来源