学习
正在学习
书籍 / 课程
- 《算法导论》
- 《C++ Primer Plus》
- 《C Primer Plus》
方向
期望学习
想推进的方向
- Matlab
- Java
- Html/Css/Js
Algorithm Map
算法思维导图
更大更细的树状图,用颜色区分已学与待学。
学过
待学
- 算法
- 1. 基础算法思想
- 1.1 暴力法(Brute Force)
- 1.2 递归(Recursion)
- 1.3 分治(Divide & Conquer)
- 1.4 贪心(Greedy)
- 1.5 动态规划(DP)
- 1.6 回溯(Backtracking)
- 1.7 随机化算法
- 1.8 双指针 / 滑动窗口
- 1.9 位运算技巧(lowbit / 掩码)
- 2. 经典基础算法
- 2.1 排序算法
- 冒泡 / 插入 / 选择
- 归并 / 快速排序
- 堆排序 / 希尔排序 / 计数排序
- 2.2 查找算法
- 顺序查找 / 二分(上下界)
- 哈希查找(拉链 / 开放寻址)
- 2.3 数学与数值算法
- 欧几里得算法(GCD / 扩展 GCD)
- 快速幂 / 快速乘
- 素数筛(埃氏 / 线性筛)
- 模逆元 / 费马小定理
- 牛顿迭代 / 数值稳定性
- 2.1 排序算法
- 3. 数据结构相关算法
- 3.1 树结构算法
- 遍历:前序 / 中序 / 后序 / 层序
- 平衡旋转:AVL / 红黑树基本操作
- 树状数组 / 线段树(区间更新 + 懒标记)
- LCA:倍增 / Tarjan
- 3.2 图算法
- 遍历:DFS / BFS
- 最短路:Dijkstra / Bellman-Ford / SPFA
- 最小生成树:Kruskal / Prim(堆优化)
- 拓扑排序 / DAG DP
- Floyd-Warshall / 传递闭包
- 并查集:路径压缩 + 按秩合并
- 3.3 字符串算法
- KMP(前缀函数 / next 数组)
- Trie / 01-Trie
- Rabin-Karp / Rolling Hash
- Manacher(最长回文)
- AC 自动机(多模式匹配)
- 3.1 树结构算法
- 4. 高级算法
- 4.1 高级动态规划
- 状压 DP
- 树形 DP
- 区间 DP
- 单调队列 / 斜率优化
- 数位 DP
- 4.2 高级图算法
- 网络流:Dinic / ISAP / 最小割
- SCC:Tarjan / Kosaraju
- A* 启发式搜索
- 差分约束 / 线性规划建模
- 4.3 计算几何
- 凸包:Graham / Andrew
- 旋转卡壳 / 最近点对
- 扫描线:矩形并 / 线段相交
- 4.1 高级动态规划
- 5. 智能与启发式算法
- 遗传算法(GA)
- 模拟退火(SA)
- 蚁群算法(ACO)
- 粒子群算法(PSO)
- 强化学习基础:Q-learning / Policy Gradient
- 6. 机器学习 / 深度学习
- 监督:线性回归 / 逻辑回归 / 决策树 / 随机森林 / SVM / MLP
- 无监督:K-means / PCA / GMM / 聚类评估
- 深度:CNN / RNN / LSTM / Transformer
- 训练技巧:正则化 / BatchNorm / 优化器
- 1. 基础算法思想