学习

正在学习

书籍 / 课程

  • 《算法导论》
  • 《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)
        • 快速幂 / 快速乘
        • 素数筛(埃氏 / 线性筛)
        • 模逆元 / 费马小定理
        • 牛顿迭代 / 数值稳定性
    • 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 自动机(多模式匹配)
    • 4. 高级算法
      • 4.1 高级动态规划
        • 状压 DP
        • 树形 DP
        • 区间 DP
        • 单调队列 / 斜率优化
        • 数位 DP
      • 4.2 高级图算法
        • 网络流:Dinic / ISAP / 最小割
        • SCC:Tarjan / Kosaraju
        • A* 启发式搜索
        • 差分约束 / 线性规划建模
      • 4.3 计算几何
        • 凸包:Graham / Andrew
        • 旋转卡壳 / 最近点对
        • 扫描线:矩形并 / 线段相交
    • 5. 智能与启发式算法
      • 遗传算法(GA)
      • 模拟退火(SA)
      • 蚁群算法(ACO)
      • 粒子群算法(PSO)
      • 强化学习基础:Q-learning / Policy Gradient
    • 6. 机器学习 / 深度学习
      • 监督:线性回归 / 逻辑回归 / 决策树 / 随机森林 / SVM / MLP
      • 无监督:K-means / PCA / GMM / 聚类评估
      • 深度:CNN / RNN / LSTM / Transformer
      • 训练技巧:正则化 / BatchNorm / 优化器