返回专栏浏览全部文章 →
LeetCode Interview · C++
算法札记
面向 LeetCode 面试的 C++ 算法学习路线:从数据结构到算法设计,理解原理、证明与实现。
- 学习目标
- LeetCode 面试
- 默认语言
- C++
- 更新方式
- 按学习路线持续更新
Roadmap
学习路线
先建立解题工具箱,再掌握数据结构与高频模式,最后进入搜索、图论和动态规划。
- 01
基础工具箱
建立分析复杂度、选择容器和写出稳定代码的基础。
- STL
- 复杂度
- 递归
- 排序与二分
- 02
核心数据结构
掌握高频结构的操作、不变量以及典型题型。
- 数组与字符串
- 链表
- 栈与队列
- 哈希表
- 堆
- 03
高频解题模式
把零散题目收敛成可识别、可复用的思考框架。
- 双指针
- 滑动窗口
- 前缀和
- 单调栈
- 区间问题
- 04
树与图
从遍历过渡到连通性、最短路和拓扑关系。
- 二叉树
- DFS / BFS
- 并查集
- 最短路
- 拓扑排序
- 05
搜索与回溯
用决策树理解枚举边界,通过剪枝控制搜索空间。
- 子集
- 排列
- 组合
- 剪枝
- 记忆化搜索
- 06
动态规划与贪心
从状态定义和转移方程出发,建立可解释的正确性。
- 线性 DP
- 背包
- 序列 DP
- 区间 DP
- 贪心证明
Articles
专栏文章
第一篇文章正在整理中。
专栏首期先发布学习路线;未完成的草稿不会出现在公开列表中。