“程”风破浪的开发者|我的数据结构和算法学习小技巧
前言
数据结构和算法是一名合格的软件开发工程师的基础,学好数据结构和算法,不仅可以应用于面试。在实际工作中,充分理解各种数据结构,选出符合当前场景合适的类型,写出性能更好的代码,提升工作效率。那怎样才能高效的学习数据结构和算法呢?
高效学习数据结构和算法学习小技巧
安静坏境。高效学习,首先我们需要准备一个相对安静的环境,学习的时候,屏蔽手机,专心学习。创造一个好的学习环境,学习效率高。如果你是一名学生,在教室中学习即可。如果你和我一样,是在职工作人员,我个人实践在中午吃完饭后的休息时间,可以找一个会议室,来学习数据结构和算法。
选择优秀的学习资料。针对数据结构和算法的学习,有很多的学习资料。个人觉得,如果是在入门的阶段,我们需要做的是,找到一份质量高的资料,然后持续的,完整的学习下去,不要频繁的更换学习资料。什么是优秀的的学习资料呢?如果你是学生,请跟着你们的课本学习。如果你和我一样,已经工作了,我们直接在网上找一个好评度高的课程学习即可。
code。选定了好的学习资料,我们接下来需要练习。数据结构和算法是一门实践性很强的学科,理论知识过后,我们通过练习,可以的更好的掌握知识。在线编程网站,我一般使用 LeetCode, 只需编写主函数,对于新手很友好。
刻意练习。针对所学的知识,要刻意,勤加练习,夯实基础,如果工作学习中有实践应用场景,要去使用实践,才能更好的掌握相关的知识。
链表学习实战
链表是一种物理存储单元上非连续、非顺序的存储结构。是我们最常用的数据结构,我们首先跟着资料学习基本的概念和常见的操作。
学习完成基础概念理解之后,我们在 LeetCode 上进行题目的选择练习。我们选择 21 合并两个有序链表。
合并两个有序链表题目是一个简单题目,主要考察的是链表基础知识的应用。有多种解决方法。我们既可以创建一个新的链表,存储比较结果,最后返回为答案。也可以使用递归的方式解决这个问题。
使用上述方法 AC 了这个题目之后,我们还有一步重要的步骤。“一个题目不能只做一遍!”具体来说,我们可以在第二天,第三天,第五天在做一次这个题目。后面做题目的时候,如果你理解了相关的知识和解法,做起来的速度会很快。如果你做的时候,不顺畅,提交的代码有 bug,那就是暴露出了不足,我们可以针对发现的问题逐步解决,完善自己的数据结构和算法知识,最终掌握这个题目。
总结
上面以链表的学习为例子,介绍了我数据结构和算法的学习方法,希望你实践一下。"talk is cheap, show me the code!"。在 code 中,不断加深理解,提升自己的能力!加油!
版权声明: 本文为 InfoQ 作者【Albert】的原创文章。
原文链接:【http://xie.infoq.cn/article/5596190ee3a62808a116a346f】。文章转载请联系作者。
评论