数据结构与算法作为每个程序员的基本功,对于我们的编程来说是非常重要的。
我自己之前看书学习过一段时间,也刷了几十道题目,但发现效果不是很好,因此这篇文章就是来总结一下该怎么学习数据结构与算法,怎么系统的刷LeetCode。
刷题目的
提高编码能力,有能力使用项目中需要使用的数据结构与算法。
刷题需要看的东西
书籍:大话数据结构和图解算法
大神刷题笔记
刷题博客
刷题语言的选择
根据我自身的情况,我是选择C/C++作为我的主力语言。
刷题的方法
分模块的刷,一段时间主攻一个模块、一个知识点,防止刷题刷的太分散导致学习效果不好。
只有将所有模块都学完了之后才可以不分知识点的进行刷题,当然也可以参加LeetCode周赛等。
刷题笔记
每次刷题,以及刷题的想法,思路,多解都要记录下来,发在CSDN上面。
刷题效果检验
在日常编码过程中,要有意识的使用不同的数据结构与算法,分析其复杂度,分析其优缺点,衡量利弊,权衡使用。
在开源项目中看到不同的数据结构也可以反问一下自己为啥要用这种数据结构,用其他的行不行。