1. 算法学习进阶步骤
1.1. 打好基础
学习数据结构基础:
-
常见的数据结构:数组、链表、栈、队列、哈希表、树、图。
-
掌握每个数据结构的时间复杂度分析、使用场景及其优缺点。
学习常见算法:
-
排序与查找算法(如:快速排序、归并排序、二分查找)。
-
基本的递归与回溯、贪心算法、动态规划。
推荐学习材料:
-
《算法导论》:全面系统的算法书籍。
-
《数据结构与算法分析》:基础数据结构和算法分析的经典书。
1.2. 分类攻克
学习典型问题:
-
将常见算法问题分为类别,逐个学习。先从简单问题入手,逐渐攻克复杂问题。
-
如:动态规划问题、递归问题、贪心算法问题、图论问题等。
每类问题选择 5-10 道经典题目:
-
每类算法(如贪心、动态规划等)在 LeetCode 中选择 5-10 道题,深入理解其解法与优化方法。
每日总结:
-
每天刷题后,记录解题思路,反思优化空间。
1.3. 构建知识框架
总结常见题型与解题模板:
-
将常见问题模板化,总结每类问题的解题思路和步骤。
-
动态规划问题通常可以通过状态转移方程解决;二分查找的模板是找区间的中点。
画出思维导图: