如何自学《数据结构与算法》?

众所周知,《数据结构与算法》是程序员面试中的重中之重,也是编程中非常重要的组成部分,然而非科班出身的人,学起来有一个相当长的探索期。下面我整理了一个数据结构与算法的思维导图,供大家参考。

1.总览

如何自学《数据结构与算法》?_第1张图片

2.学习方法


知识的学习,广义上来说分为输入输出两个手段,输入是指对知识点的获取,输出可以对所学知识点进行检测和深化。

2.1计算机语言的选择

  • 首先,是计算机语言,现在很多的大学本科课程中,都会开设C语言或者Python的课程,不过我个人还是更加推荐C语言,因为更加贴近计算机底层,在算法的实现过程中,需要实现更多的细节,但这既是优点也是缺点,毕竟很多时候C语言需要自己“造轮子”,而Python则不需要,所以在很多时候,实现相同的功能,Python的代码量会比C语言,甚至其他大多数计算机语言一些。

  • 其次,Python有个特点:弱数据类型,因此入门非常快,C语言和C++复杂的数据类型,让很多的初学者,包括学习很长时间的程序员头疼不已,而Python则不用担心这一点。所以在编程的时候,程序员只需要将更多的精力放在算法的实现过程,而无需过分关系数据的类型。

  • 再者,从职场的需求角度出发,现在职场需求量更大的则是C++JAVA程序员,不可否认,Python曾一度登顶计算机语言的应用热度排行榜,但在很多场合,Python都不是独立地完成项目开发,而是与其他计算机语言进行结合。因为Python虽简洁优雅,但往往运行效率较低。

2.2 数据结构与算法的学习

关于自己报培训班学习,这个应该是见仁见智了,我那时候是报的极客大学的算法训练营,花了不少钱,反正后来我觉得自学也完全可以,这个时代,知识付费早已经不是什么新鲜的事情了。

  • 网课推荐哔哩哔哩的up主英雄从哪里出来,具有非常不俗的实力。
  • 教材比较推荐《大话数据结构》,计算机类的书,全彩色的已经不多了,这本书中的算法与数据结构是基于C语言实现的,如下图:
    如何自学《数据结构与算法》?_第2张图片

2.3 具体题目的选择

后续有时间我会仔细整理一下我自己刷的一个题库,大概只包含了100道题左右,但是都非常经典,我在面试的很多场合,遇到的都是原题。

再推荐一个非常好的学习网站,代码随想录,真的非常良心,非常详细。代码随想录

学习的过程总是充满了荆棘与坎坷,但是最难忘的还是跨越千难万险,最后那会心的一笑。

---------------------------------END---------------------------------

你可能感兴趣的:(数据结构,c语言)