我自己本科是电子信息工程,是没有学习过数据结构与算法的,所以也是自己从小白一路走过来,这个过程走过很多弯路,所以这也是我自己学习的经验之谈,要是观点不同非常正常。
先大概说下目录(几个想说的点):
- 为什么要学数据结构?
- 数据结构要学什么?
- 怎么学数据结构?
- 资源推荐
为什么要学数据结构?
首先要明确的一点就是数据结构不是具体的语言,主要是一种思维,很多同学私聊问的最多就是用什么语言学习数据结构。其实原则上什么语言都可以,当然这就引出了需要学习哪种语言的问题,这个之后再单说。
因此也就引出了学习数据结构的目的
第一个也是最重要的就是提升逻辑思维能力
掌握了数据结构与算法,我们看待问题的深度、解决问题的角度会大有不同,对于个人逻辑思维的提升,也是质的飞跃。
具体来讲,对于同一个问题,数据结构往往会教给我们不只一种解决思路。举个例子,假设我们需要从众多数据中查找出符合要求的元素,多数人就只能借助数组这种简单的存储结构来实现,而通过学习数据结构我们会知道,解决此类问题既可以通过构建二叉排序树、平衡二叉树、甚至红黑树、B+/B- 树来解决,还可以借助哈希表解决。
无论是 Java、Python、C++、PHP 还是其他编程语言,无时无刻不在更新迭代,而数据结构却永远不会过时,其包含的存储数据的思想,已经近乎将所有可能的情况都囊括其中,能解决 99% 的实际场景中有关数据存储的问题。
第二个作用是评判软件效率的工具