哈希表
本文将介绍以哈希函数映射键值、期望常数时间增删查的哈希表,讲解哈希冲突与拉链法实现。
并查集
本文将介绍维护不相交集合的并查集,含路径压缩与按秩合并优化,及种类、带权并查集等变形。
堆
本文将介绍堆及其优先队列实现,含 STL priority_queue、可并堆与左偏树。
分块
本文将介绍在暴力与整块维护间折中的分块,讲解块长取根号 n 时最优,及区间加求和的实现。
单调栈
本文将介绍栈内保持单调的单调栈,以求下一个更大元素为例讲解其线性复杂度的实现。
单调队列
本文将介绍队内保持单调的单调队列,以滑动窗口最值为例讲解其线性复杂度的维护。
ST 表
本文将介绍解决可重复贡献问题的 ST 表,预处理后可以常数时间查询区间最值等聚合信息。
树状数组
本文将介绍用 lowbit 维护前缀信息的树状数组,支持对数级的单点修改与前缀查询,并附模板例题。
线段树
本文将介绍用懒标记做区间修改查询的线段树,并讲解线段树合并分裂、李超线段树与吉司机线段树。
二叉搜索树 & 平衡树
本文将介绍二叉搜索树与平衡树,重点讲解无旋 FHQ Treap,并附红黑树容器与笛卡尔树。
可持久化数据结构
本文将介绍保留历史版本的可持久化线段树,讲解复制访问路径共享节点的主席树及其例题。
线段树套线段树
本文将介绍支持多维查询的树套树,以二逼平衡树为例,涵盖区间排名、第 k 小与前驱后继。
K-D Tree
本文将介绍按维度轮流划分的 K-D Tree,支持范围查询与最近邻查询,用包围盒剪枝加速。
Link Cut Tree
本文将介绍用 Splay 维护实链剖分的 LCT,支持在线连边、断边、换根与链上修改查询。
霍夫曼树
本文将介绍带权路径长度最小的霍夫曼树,讲解每次合并两棵最小权树的贪心算法与堆实现。