并查集

并查集

查询和合并两个元素是否在一个集合内。

类似一个树形的结构,每一个都存他的父节点,每一个集合都有一个代表元素,也就是根节点,这个结点代表了这个集合。

合并:普通合并每次都可以让他等于他的父节点,但是这样连出来的是一个距离根节点很长的树,查询的时候就比较慢,所以可以路径压缩,回溯的时候让他指向他的祖宗节点,这样就是一个路径比较短的树了。

带权:除了维护是否同一集合以外,再给每一个结点一些别的信息并加以维护

带边权:对于关系加了一些修饰,一般是维护和根节点的信息

带扩展域:维护的不是元素了,而是一些关系

关系具有传递性,而且具有对称性

作用:

  1. 维护集合之间的关系
  2. 通过拆点,给点附加信息,进而维护不同的信息
  3. 通过维护点与根结点的关系,进而维护边的关系,也就是维护了边权
  4. 通过另开一维空间来维护,不同的空间的点代表了不同的性质,如果这些性质有交集就合并。
posted @ 2022-03-31 17:09  枉玊  阅读(33)  评论(0)    收藏  举报