《面向Google刷题》系列第一阶段总结

48 阅读2分钟

大家好!上周六是一个值得纪念的日子——这个系统终于到达了第100道题的里程碑!!!

很多朋友可能还不知道为什么我一上来就开始刷题,而不是先把所有的数据结构和算法都学完、学透再去刷题。 那我问一个问题,对于学习、工作中完全使用不到的技术你学完能记得多久?能学到多深?

所以本系列采用实践先行的策略来刷题,深化理解,避免纸上谈兵

百题总结

100道题选择的是leetcode上题解最多的top100,两点原因,一是如果做不出来有的抄;二是避免太多的套娃题,以下是题目中遇到的所有数据结构和算法,没有优先级,按题目先后顺序列出

第二阶段会学习以下数据结构和算法,文章更新后添加链接

数据结构

  1. 数组
  2. 哈希表
  3. 字符串(暂且归为数据结构)
  4. 链表
  5. 队列
  6. 树(二叉树、堆)
  7. 图(二维数组)

算法

  1. 排序(基础类型、对象)
  2. 双指针
  3. 前缀和
  4. 滑动窗口
  5. 模拟
  6. 递归
  7. 迭代
  8. 动态规划
  9. 二分法
  10. 贪心
  11. 回溯
  12. DFS
  13. BFS
  14. 位运算

明确方向、系统学习

接下来《面向Google刷题》系统将进入一个系统学习为主、刷题为辅的新阶段

  1. 聚焦核心短板
    • 动态规划
    • 贪心
    • DFS、BFS
    • 递归等等
  2. 深化理解
    • 为什么选择这种数据结构和算法
    • 也没有其他方式、优缺点
    • 边界条件、易错点
  3. 建立知识体系
各位同路人加油!!!