众所周知,《数据结构与算法》是程序员面试中的重中之重,也是编程中非常重要的组成部分,然而非科班出身的人,学起来有一个相当长的探索期。下面我整理了一个数据结构与算法的思维导图,供大家参考。
1.总览
2.学习方法
知识的学习,广义上来说分为输入和输出两个手段,输入是指对知识点的获取,输出可以对所学知识点进行检测和深化。
2.1计算机语言的选择
- 首先,是计算机语言,现在很多的大学本科课程中,都会开设C语言或者Python的课程,不过我个人还是更加推荐C语言,因为更加贴近计算机底层,在算法的实现过程中,需要实现更多的细节,但这既是优点也是缺点,毕竟很多时候C语言需要自己“造轮子”,而Python则不需要,所以在很多时候,实现相同的功能,Python的代码量会比C语言,甚至其他大多数计算机语言一些。
- 其次,Python有个特点:弱数据类型,因此入门非常快,C语言和C++复杂的数据类型,让很多的初学者,包括学习很长时间的程序员头疼不已,而Python则不用担心这一点。所以在编程的时候,程序员只需要将更多的精力放在算法的实现过程,而无需过分关系数据的类型。
- 再者,从职场的需求角度出发,现在职场需求量更大的则是C++ 和 JAVA程序员,不可否认,Python曾一度登顶计算机语言的应用热度排行榜,但在很多场合,Python都不是独立地完成项目开发,而是与其他计算机语言进行结合。因为Python虽简洁优雅,但往往运行效率较低。
2.2 数据结构与算法的学习
2.3 具体题目的选择
后续有时间我会仔细整理一下我自己刷的一个题库,大概只包含了100道题左右,但是都非常经典,我在面试的很多场合,遇到的都是原题。
再推荐一个非常好的学习网站,代码随想录,真的非常良心,非常详细。代码随想录
学习的过程总是充满了荆棘与坎坷,但是最难忘的还是跨越千难万险,最后那会心的一笑。
---------------------------------END---------------------------------