一、基础阶段:构建算法与数学根基
-
数据结构与基础算法
- 数据结构:数组、链表、栈、队列、哈希表、树(二叉搜索树、堆、字典树)、图等。
- 基础算法:排序(快速排序、堆排序)、查找(二分查找)、递归与分治、贪心算法、简单动态规划(背包问题)、字符串匹配(KMP、Rabin-Karp)、图遍历(BFS/DFS)等。
- 实践方法:通过LeetCode等平台刷题(如“剑指Offer”系列),掌握算法原理与代码实现。
-
数学基础
- 核心数学:线性代数(矩阵运算)、概率论与统计(贝叶斯定理、假设检验)、离散数学(图论、集合论)、微积分(多元函数求导)。
- 计算几何:叉积与点积应用、多边形算法、凸包等。
二、进阶阶段:深入算法与机器学习
-
高级算法与优化
- 动态规划:复杂状态转移(LCS、矩阵链乘法)、记忆化搜索、四边形不等式优化。
- 图论算法<