Skip to content

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
    • 二分图
      • 二分图判定 / 染色法
      • 二分图的最大匹配 / 匈牙利算法

学习资料

Released under the MIT License.