V

算法可视化

ZHEN
分享到微博分享到 XGitHub 仓库个人主页
学习工具算法复杂度速查算法学习路径
数据结构数组链表栈队列树堆哈希表图字典树并查集LRU 缓存跳表线段树B+ 树布隆过滤器树状数组
经典排序算法冒泡排序鸡尾酒排序双调排序选择排序插入排序二分插入排序希尔排序归并排序自顶向下归并快速排序三路快排双轴快排堆排序计数排序基数排序桶排序
图算法Dijkstra 最短路Kruskal 最小生成树Prim 最小生成树Bellman-Ford 最短路拓扑排序Floyd 多源最短路强连通分量2-SAT最大流二分图匹配LCA 倍增欧拉路径
动态规划编辑距离0-1 背包完全背包最长公共子序列最长递增子序列硬币找零方案数石子合并旅行商 TSP树形 DP数位 DP换根 DP
回溯与搜索N 皇后子集生成全排列组合总和迷宫寻路岛屿数量单词搜索数独A* 寻路
字符串KMP 字符串匹配Rabin-KarpBoyer-MooreManacher后缀数组LCP / height 数组AC 自动机Z 函数
数学与数论埃氏筛线性筛欧几里得算法快速幂扩展欧几里得中国剩余定理欧拉函数米勒-拉宾FFTPollard's Rho
计算几何凸包旋转卡壳最近点对线段相交扫描线求交
查找二分查找二分边界旋转数组搜索二分答案三分查找

学习路径

不知道从哪开始?四条走过验证的路线,按顺序点下去就行

🌱 新手入门12 站

零基础第一圈:先摸熟基础结构,再用三个简单排序建立「算法在动」的手感,收在二分与快排。

  1. 1数组→
  2. 2栈→
  3. 3队列→
  4. 4链表→
  5. 5冒泡排序→
  6. 6选择排序→
  7. 7插入排序→
  8. 8二分查找→
  9. 9哈希表→
  10. 10树→
  11. 11堆→
  12. 12快速排序

🎯 面试高频14 站

大厂笔面出镜率最高的一批:排序三剑客 + 二分家族 + LRU/KMP + 经典 DP + 回溯与图两把刷子。

  1. 1快速排序→
  2. 2归并排序→
  3. 3堆排序→
  4. 4二分查找→
  5. 5二分边界→
  6. 6LRU 缓存→
  7. 7KMP 字符串匹配→
  8. 80-1 背包→
  9. 9最长公共子序列→
  10. 10硬币找零方案数→
  11. 11N 皇后→
  12. 12岛屿数量→
  13. 13Dijkstra 最短路→
  14. 14拓扑排序

🕸 图论专线10 站

从图的存储一路打穿:最短路三兄弟 → 两种 MST → 拓扑与连通性 → 网络流,收在树上问题的 LCA。

  1. 1图→
  2. 2Dijkstra 最短路→
  3. 3Bellman-Ford 最短路→
  4. 4Floyd 多源最短路→
  5. 5Kruskal 最小生成树→
  6. 6Prim 最小生成树→
  7. 7拓扑排序→
  8. 8强连通分量→
  9. 9最大流→
  10. 10LCA 倍增

🚀 进阶专题10 站

刷完前面还想再上一层:高级结构、字符串重器、状压/数位/换根三种 DP 硬骨头,收在 FFT 与大数分解。

  1. 1线段树→
  2. 2树状数组→
  3. 3后缀数组→
  4. 4AC 自动机→
  5. 5Z 函数→
  6. 6旅行商 TSP→
  7. 7数位 DP→
  8. 8换根 DP→
  9. 9FFT→
  10. 10Pollard's Rho