非常完整的一个数据结构学习方式。
当年秋招我用2个月时间,把各个部分进行了理解和总结。并且顺利通过校招面试。
整体学习数据结构,需要四个部分:
第一、一个入门级别的视频教程
第二、一本优秀的书籍全面配合(毕竟视频不具有全面性)
第三、各大论坛准备好(解决遇到的小问题)
第四、刷题,LeetCode 按计划搞起来
这不是一个全面学习的计划,而是一个学习的习惯,建议几乎每天都要坚持!
先安利一个神器,大家看看好不好用【觉得不错的,希望大家可以双击屏幕,点个赞!在此谢过!!!】
比如在二叉树中要插入元素27,一个清晰的动画以及每一步骤的原理会展现出来!
下面咱们就把整个学习数据结构用到的方法和资料一一介绍!
第一、视频方面
国内的话,只推荐一个,刘姥姥和何钦铭的视频课程。
来自浙大的《数据结构》www.icourse163.org/course/ZJU-…
整体思路和课程的完整性没的说。非常非常非常非常推荐!!!!!!
当时上大二时候,也是把这门课又刷了一遍(当时是在网易云课堂,不过现在只能在中国大学mooc看了)
逐步跟着视频中的知识点,听好课程,做好笔记,然后做好老师发布的作业。
这里也推荐@陈越姥姥 的账号
内容不多,很精华!
国外介绍的是来自普林斯顿的课程 algorithms-part1和 algorithms-part2
和
这套课程是配合《算法》讲解,并且其中提供的题目作业也需要按时完成,定能有很大的收获。
第二、一本优秀的书籍全面配合
这里其实介绍的就是刚刚第一点中提到的普林斯顿的课程 algorithms-part1和 algorithms-part2 配套的书籍。
豆瓣评分高达 9.4 分
电子版: pan.baidu.com/s/1sevp3o6R…
这是一本值得精读的算法书!
这本书使用的是Java语言描述的,是迄今为止我遇到过的最细致,最透彻
之前看到Amazon上的一个评价:如果你想学习算法而又不知道从何开始,或是已经有一定基础但又不愿意纠结于数学细节,我强烈的向你推荐这本书。
强烈建议读一读!
第三、各大论坛准备好(解决遇到的小问题)
首推 leetcode官网,上面不仅仅是刷题精华记录的聚集地,也是各路大神比拼算法讲解方法的圣地
其次 visualgo.net/en,一款强大的可视化网站:
而且对于初学者很友好的是,它是支持中文的:
比如说要插入元素27,一个清晰的动画以及每一步骤的原理会展现出来
第四、刷题,LeetCode 按计划搞起来
关于 leetcode 刷题(官网leetcode.cn/),不建议直接看视频,可以从leetcode的官网从简单开始做起来
刷题这个过程,开始会比较费劲,不过越到后面,就会比较熟练起来。
再有了数据结构的基础后,遇到不会的题目,结合leetcode其他同学提交的思路和做法,自己可以学习并且加以总结。
在这样坚持一段时间后,熟练程度就逐渐上来了。
在刷题或者学习中,最好就是保持这个习惯持续1~2年甚至更长时间!
不断刷题,不断总结,不断的记录整个刷题过程。这样的习惯会让你对于题目的理解相当透彻。
这也会让你在后面的编码职业中,有更强的思维逻辑。
当然,市面上也有不少总结好的解题思路,我这边整理了一些,大家可以拿去参考。
好了,这就是整个的数据结构的学习路线,前期比较快,后期刷题巩固估计会需要更长的时间。不过数据结构就是编程中提高编程的一种方法。
大家加油!