文章目录
1.1 基本数据结构
1. 数组
2. 链表,双向链表
3. 队列,单调队列,双端队列
4. 栈,单调栈
1.2 中级数据结构
1. 堆
2. 并查集与带权并查集
3. hash 表
自然溢出
双hash
1.3 高级数据结构
1. 树状数组
2. 线段树,线段树合并
3. 平衡树
Treap 随机平衡二叉树
Splay 伸展树
*Scapegoat Tree 替罪羊树
4. 块状数组,块状链表
5.* 树套树
线段树套线段树
线段树套平衡树
平衡树套线段树
6.可并堆
左偏树
配对堆
7. *KDtree,
*四分树
1.4 可持久化数据结构
1. 可持久化线段树
主席树
2. * 可持久化平衡树
3. * 可持久化块状数组
1.5 字符串相关算法及数据结构
1. KMP
2. AC 自动机
3. 后缀数组
4. *后缀树
5. *后缀自动机
6. 字典树 Trie
7. manacher
1.6 图论相关
1. 最小生成树
prim
kruskal
2. 最短路,次短路,K短路
spfa
dijkstra
floyd
3. 图的连通
连通分量
割点,割边
4. 网络流
最大流
最小割
费用流
分数规划
5. 树相关
树上倍增,公共祖先
树链剖分
树的分治算法(点分治,边分治,*动态?树分治)
动态树 (LCT,*树分块)
虚树
*prufer编码
7. 拓扑排序
8. 欧拉图
9. 二分图
*KM算法
匈牙利算法
1.7 数学相关
1. (扩展)欧几里得算法,筛法,快速幂
斐蜀定理
更相减损术
2. 欧拉函数与*降幂大法
3. 费马小定理
4. 排列组合
lucas定理