呢啥,我将开始一个新的系列,c++ 算法系列,包括以下的所有算法,有些复杂的会分成2-3篇。
1. 排序算法
- 冒泡排序(Bubble Sort)
- 选择排序(Selection Sort)
- 插入排序(Insertion Sort)
- 归并排序(Merge Sort)
- 快速排序(Quick Sort)
- 堆排序(Heap Sort)
- 计数排序(Counting Sort)
- 基数排序(Radix Sort)
- 桶排序(Bucket Sort)
- Intro 排序(C++ std::sort 内部使用)
2. 搜索算法
- 线性搜索(Linear Search)
- 二分搜索(Binary Search)
- 三分搜索(Ternary Search)(用于单峰函数)
- 指数搜索(Exponential Search)
- 跳跃搜索(Jump Search)
- 插值搜索(Interpolation Search)
- 图的 DFS / BFS 搜索
3. 图算法
- 深度优先搜索(DFS)
- 广度优先搜索(BFS)
- Dijkstra 最短路(加权图)
- Bellman-Ford 最短路(允许负权)
- Floyd-Warshall 全源最短路
- Prim / Kruskal 最小生成树
- 拓扑排序(Topological Sort)
- 并查集 / Disjoint Set(连通分量)
- A 搜索、SPFA、Tarjan 强连通分量*
- 二分图匹配 / 最大流 / 最小割
4. 动态规划(DP)
- 背包问题(0/1、完全、分数)
- 最长公共子序列(LCS)/最长公共子串
- 最长递增子序列(LIS)
- 矩阵链乘法
- 树形 DP / 图 DP
- 找零钱问题、编辑距离、子集和
5. 贪心算法
- 活动选择问题
- 哈夫曼编码(Huffman Coding)
- 分数背包问题(Fractional Knapsack)
- 作业调度(Job Scheduling)
6. 分治算法
- 归并排序、快速排序
- 二分搜索
- 最近点对问题
- Strassen 矩阵乘法
7. 回溯 / 递归
- N 皇后问题
- 数独求解器(Sudoku Solver)
- 全排列 / 组合生成
- 子集生成
8. 数论 / 数学算法
- 埃拉托色尼筛法(Sieve of Eratosthenes)
- 最大公约数 / 最小公倍数(GCD / LCM,欧几里得算法)
- 快速幂 / 模幂
- 费马小定理、剩余定理(CRT)
- 因数分解、质数测试
- 扩展欧几里得算法
- 快速傅里叶变换(FFT)
9. 字符串算法
- KMP(Knuth-Morris-Pratt)
- Rabin-Karp 算法
- Z 算法
- 字典树(Trie)、后缀树 / 后缀数组
- Manacher 算法(求最长回文子串)
10. 几何算法
- 凸包(Graham Scan / Jarvis March)
- 直线相交 / 点在多边形内判断
- 最近点对问题
- 多边形面积 / 向量叉积
11. 其他常用技巧 / 数据结构配套算法
- 双指针 / 滑动窗口
- 前缀和 / 差分数组
- 线段树 / 树状数组(Fenwick Tree / BIT)
- 稀疏表(Sparse Table)
- 堆 / 优先队列相关算法
- 单调栈 / 单调队列
敬请期待!
1937

被折叠的 条评论
为什么被折叠?



