README
算法模板
包含各种算法的 C++ / Python / Go / Java / JavaScript 版本
- 常用算法
- 二分查找
- 快速排序
- 归并排序
- 前缀和与差分
- 离散化
- 数据结构
- 链表
- 模拟栈
- 模拟队列
- 单调栈
- 单调队列
- 堆 / 优先队列
- 模拟堆
- 二叉堆
- 配对堆
- 左偏树
- 并查集
- 点权并查集
- 边权并查集
- 可持久化并查集
- 哈希表
- 稀疏表 / ST 表
- 树状数组
- 树套树
- 线段树 segment tree
- 线段树二分
- 延迟标记
- 可持久化线段树 / 主席树
- 左偏树
- 笛卡尔树
- 树堆 Treap
- 伸展树 Splay
- 动态树 LCT
- 红黑树 RBT
- 珂朵莉树 ODT
- 莫队算法
- 普通莫队
- 带修莫队
- 字符串
- KMP
- 扩展 KMP / Z 函数
- 字典树 Trie
- 字符串哈希
- 最长回文子串
- Manacher 算法
- 数学
- 数论
- 欧几里得算法
- 扩展欧几里得算法
- 筛法
- 埃氏筛
- 线性筛 / 欧拉筛
- 欧拉函数
- 中国剩余定理 CRT
- 莫比乌斯函数
- 莫比乌斯反演
- 组合数学
- 快速傅里叶变换 FFT
- 数论
- 动态规划
- 背包问题
- 01 背包
- 完全背包
- 多重背包
- 分组背包
- 树上背包
- 线性 DP
- 最长公共子序列 LCS
- 最长上升子序列 LIS
- 区间 DP
- 树形 DP
- 数位 DP
- 状态压缩 DP
- 背包问题
- 图论
- 搜索基础
- DFS
- BFS
- 最短路问题
- Dijkstra
- Bellman-Ford
- SPFA / 队列优化的 Bellman-Ford
- Floyd-Warshall
- 最小生成树
- Prim
- Kruskal
- 二分图
- 二分图判定 / 染色法
- 二分图的最大匹配 / 匈牙利算法
- 搜索基础