
并查集
并查集是一种用于处理元素分组的集合数据结构,支持两个核心操作:合并两个集合、查询两个元素是否属于同一集合,借助路径压缩与按秩合并优化,能近乎常数时间完成操作,常用于连通性判断、图论连通分量等场景。
数据结构
带有标签的文章:
5篇文章

并查集是一种用于处理元素分组的集合数据结构,支持两个核心操作:合并两个集合、查询两个元素是否属于同一集合,借助路径压缩与按秩合并优化,能近乎常数时间完成操作,常用于连通性判断、图论连通分量等场景。

二叉搜索树是一种二叉树,对任意结点,其左子树所有结点值小于该结点值,右子树所有结点值大于该结点值,利用该性质可高效完成查找、插入与删除操作。

堆是一种完全二叉树形式的特殊数据结构,分为大顶堆、小顶堆;父节点值分别大于 / 小于等于子节点,适合快速获取最值,底层常用数组存储,核心操作是上浮、下沉,常用来实现优先队列、堆排序。

Prim 是求解最小生成树的算法,从任意顶点出发维护一个已选顶点集合,每次选取连接集合内外、权值最小的边,将对应顶点并入集合,直到包含全部顶点;朴素实现 O(n^2) 适合稠密图,堆优化版本 O(mlog n) 适合稀疏图,支持负权边。

Kruskal 是求解最小生成树的算法,核心思路是将全部边按权值从小到大排序,依次选取边,借助并查集判断边的两个端点是否属于不同连通块,若不连通就把这条边加入生成树,直到选出 n‑1 条边;适合稀疏图,时间复杂度主要由排序决定 O(mlog m),可以处理带负权的边。