并查集(UnionFind-Set 或 Disjoint-Set)是一种可以动态维护若干个不重叠的集合的数据结构,支持合并和查询两个操作。本文将引导你学习并查集,并查集的路径压缩和按秩合并优化,以及一种特殊的并查集——带权并查集,和用并查集解决图连通性问题。
iznomia
钢铁洪流
并查集(UnionFind-Set 或 Disjoint-Set)是一种可以动态维护若干个不重叠的集合的数据结构,支持合并和查询两个操作。本文将引导你学习并查集,并查集的路径压缩和按秩合并优化,以及一种特殊的并查集——带权并查集,和用并查集解决图连通性问题。
线段树(Segment Tree)是一种二叉搜索树,1977 年由 Jon Louis Bentley 发明,可以较为灵活且效率较高地解决信息可合并的序列维护问题。而树状数组可以维护序列的前缀和。
在无向图中,生成树指一棵由全部顶点和组成的树,而当中边权之和最小的生成树称为最小生成树(Minimum Spanning Tree,MST)。本文会引导你学习 MST 的 Kruskal 和 Prim 算法。