本项目是记录算法基础课学习的代码。
-
基础算法
- lecture1:排序
- lecture1:二分
- lecture1:高精度
- lecture1:前缀和与差分
- lecture1:双指针算法
- lecture3:位运算
- lecture3:离散化
- lecture3:区间合并
-
数据结构
- lecture4:链表与邻接表——树与图的存储
- lecture4:栈与队列——单调队列、单调栈
- lecture4:kmp
- lecture5:Trie
- lecture5:并查集
- lecture5:堆
- lecture6:Hash表
- lecture6:C++ STL使用技巧
-
搜索与图论
- lecture7:DFS与BFS
- lecture7:树与图的遍历——拓扑排序
- 最短路
- 最小生成树
- 二分图:染色法、匈牙利算法
-
数学知识
- 欧几里得算法
- 筛素数
- 快速幂
- 组合计数
- 容斥原理
- 简单博弈论
-
动态规划
- 背包问题
- 线性DP
- 区间DP
- 计数类DP
- 数位统计DP
- 状态压缩DP
- 树形DP
-
贪心
- 时空复杂度分析