不要盲目刷算法题!!!

本文针对基础不大行的人,噶。

刷题前一定要先打好数据结构和算法基础,没有基础刷题,寸步难行。

打基础推荐一位宝藏老师(建议2倍速观看):

www.bilibili.com/video/BV1nJ…

通过学习建立好自己的知识框架之后,再去刷题。

知识框架要类似于这样

数据结构 逻辑结构 存储结构 常见操作代码实现 应用
线性表 ... 顺序存储(线性表,例如数组)、链式存储(链表) 遍历、查找、添加、删除、合并、倒序... ...
... 顺序存储、链式存储 遍历 平衡二叉树、二叉排序树、堆

同时要关注这些数据结构在你所使用的语言中是如何实现的,拿JS中的数组举例,学完之后,这些方法你是不是能自己实现呢?

  1. Array.prototype.join()
  2. Array.prototype.keys()
  3. Array.prototype.lastIndexOf()
  4. Array.prototype.map()
  5. Array.of()
  6. Array.prototype.pop()
  7. Array.prototype.push()
  8. Array.prototype.reduce()
  9. Array.prototype.reduceRight()
  10. Array.prototype.reverse()
  11. Array.prototype.shift()
  12. Array.prototype.slice()
  13. Array.prototype.some()
  14. Array.prototype.sort()
  15. Array.prototype.splice()
  16. Array.prototype.toLocaleString()
  17. Array.prototype.toString()
  18. Array.prototype.unshift()
  19. Array.prototype.values()

等你有了完整的知识体系之后,再去刷题。刷题的过程中也是完善自己知识体系的过程。

此外,刷题一开始不建议刷LeetCode,建议先看一本书《算法笔记》,把上面的题做了再去LeetCode,速度会更快。

个人的观点是,LeetCode只适合验证、完善、加深自己的算法水平,不适合一开始学习就使用。

本文链接

猜你喜欢

转载自juejin.im/post/7129720135664795661
今日推荐