大家好!上周六是一个值得纪念的日子——这个系统终于到达了第100道题的里程碑!!!
很多朋友可能还不知道为什么我一上来就开始刷题,而不是先把所有的数据结构和算法都学完、学透再去刷题。 那我问一个问题,对于学习、工作中完全使用不到的技术你学完能记得多久?能学到多深?
所以本系列采用实践先行的策略来刷题,深化理解,避免纸上谈兵
百题总结
100道题选择的是leetcode上题解最多的top100,两点原因,一是如果做不出来有的抄;二是避免太多的套娃题,以下是题目中遇到的所有数据结构和算法,没有优先级,按题目先后顺序列出
第二阶段会学习以下数据结构和算法,文章更新后添加链接
数据结构
- 数组
- 哈希表
- 字符串(暂且归为数据结构)
- 链表
- 栈
- 队列
- 树(二叉树、堆)
- 图(二维数组)
算法
- 排序(基础类型、对象)
- 双指针
- 前缀和
- 滑动窗口
- 模拟
- 递归
- 迭代
- 动态规划
- 二分法
- 贪心
- 回溯
- DFS
- BFS
- 位运算
明确方向、系统学习
接下来《面向Google刷题》系统将进入一个系统学习为主、刷题为辅的新阶段
- 聚焦核心短板
- 动态规划
- 贪心
- DFS、BFS
- 递归等等
- 深化理解
- 为什么选择这种数据结构和算法
- 也没有其他方式、优缺点
- 边界条件、易错点
- 建立知识体系