acplusplus icon indicating copy to clipboard operation
acplusplus copied to clipboard

积累的算法代码库。

算法和数据结构代码库

  • TODO
    • [ ] LeetCode
    • [ ] LintCode
    • [ ] Code Hunt
    • [ ] hihoCoder
    • [ ] 算法
    • [ ] 数据结构与算法(C++描述)
    • [ ] 算法导论
    • [ ] 编程之美
    • [ ] 剑指Offer
    • [ ] 编程珠玑
    • [ ] 挑战程序设计竞赛
    • [ ] 算法竞赛入门经典(第2版)
    • [ ] 算法竞赛入门经典训练指南
    • [ ] 算法的乐趣
  • 字符串 Strings
    • 模式匹配
      • [x] KMP算法
      • [ ] Rabin-Karp算法
      • [x] Aho-Corasick自动机
      • [ ] 有限自动机
    • [ ] 扩展KMP
    • [x] Trie字典树
    • [ ] 压缩Trie
    • [ ] 后缀树
    • [ ] 后缀数组
    • [x] Manacher回文子串算法
    • [ ] 字符串哈希
  • 数据结构 Data Structures
    • [x] 布隆过滤器
    • [x] 并查集
    • [ ] 树状数组BIT
    • [ ] 环形缓冲区
    • [ ] 双向链表
    • [ ] 双端队列
    • [ ] 跳舞链Dancing Links
  • 图 Graph
    • [ ] 图的两种存储方式及其特点
    • [x] 用DFS求连通块
    • [x] 用BFS求最短路
    • [ ] 欧拉回路
    • [x] 拓扑排序,图的序列化。
    • [x] Dijkstra最短路径算法
    • [x] Bellman-Ford最短路径算法
    • [ ] Floyd-Warshall最短路径算法
    • [x] Kruskall最小生成树算法
    • [x] Prim最小生成树算法
    • [x] 稳定婚姻问题
    • [ ] 二分图最大匹配
    • [ ] 最短增广路算法
  • 树 Tree
    • [x] 最近公共祖先LCA
    • [x] Splay树
    • [x] Treap
    • [ ] 红黑树,C++ STL的标准实现方式
    • [x] 线段树
    • [ ] 划分树
    • [ ] AVL树
    • [ ] B+树
    • [ ] BSP树
    • [ ] K-D树
  • 动态规划 Dynamic Programming
    • [x] 背包问题集锦
    • [x] 最长不下降子序列
    • [x] 最长公共子序列
    • [x] 最大子矩阵
    • [ ] DAG上的动态规划
    • [ ] 多阶段决策问题
    • [ ] 线性结构上的动态规划
    • [ ] 树上的动态规划
    • [ ] 复杂状态的动态规划
  • 分治法 Divide and Conquer
    • [ ] 平面最近点对
    • [x] 最大子数组问题,该题有线性算法。
    • [ ] 矩阵乘法的Strassen算法
  • 暴力求解 Brute-Force
    • [x] 枚举排列
    • [x] 子集生成
    • [ ] 八皇后问题
    • [ ] 路径查找问题
  • 排序 Sorting
    • [ ] BrustSort,大规模字符串排序
    • [x] 链表MergeSort
    • [x] 快速排序算法
    • [x] 归并排序算法
    • [x] 快速选择算法,第k大问题
  • 数学 Mathematics
    • [ ] 快速傅里叶变换FFT
    • [x] 矩阵快速幂
    • [ ] 高精度计算,加减乘除
    • [x] 进制转换
    • [ ] 母函数
    • [ ] 矩阵计算
    • [x] 欧拉筛法
    • [x] 最大公约数,最小公倍数,扩展欧几里得
    • [ ] 数论中的计数问题
    • [ ] 编码与解码
    • [ ] 离散概率
    • [ ] 线性规划
  • 搜索 Searching
    • [x] 迭代加深搜索
    • [x] 双向广度搜索
    • [ ] A* 算法
    • [ ] IDA* 算法
  • 计算几何 Computation Geometry
    • [x] 凸包,二维/三维
    • [ ] 旋转卡壳算法
  • 控制 Control
    • [ ] PID
    • [ ] 卡尔曼滤波
  • 贪心 Greedy Method
    • [ ] 哈夫曼树
  • 智能算法 Intelligence
    • [x] 蚁群算法
    • [ ] 遗传算法
    • [ ] 神经网络
    • [ ] 模拟退火
  • 博弈论 Game Theory
    • [x] 极大极小博弈树,Minimax Algorithm