本来我是不打算写这篇文章的,问为什么要学本来就是一个很傻的问题,不过作为专栏的第一篇,我再三思考了一下, 觉得一上来就写知识点也不是一个好的选择。既然是第一篇文章,还是来聊一聊数据结构吧。
什么是数据结构
在学习数据结构之前,我们当然需要了解一下究竟什么是数据结构,否则你连自己在学什么都不知道, 岂不是一个笑话?
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们的关系和操作等的学科
一般来说,用计算机解决一个具体问题时,你需要先从具体问题中抽象出一个适当的数学模型,然后设计一个解决此模型的算法,最后编出程序。而寻求数学模型的过程就是找出操作对象之间的关系,并用数学语言描述出来。
此时,数据结构就诞生了,随着计算机应用的越发广泛,问题越来越复杂,也就产生了对应的数据结构用于解决对应的问题。而这些解决问题的数据结构前辈们都设计好了,我们的任务就是掌握它们。
数据结构的重要性
数据结构有多重要?
曾获得图灵奖的Pascal之父——Nicklaus Wirth说过:算法+数据结构=程序,这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的"E=MC^2"——一个公式展示出了程序的本质。
而且,数据结构是计算机软件相关专业的基础课,甚至对于非计算机专业的学生来说,数据结构也是主要的选修课程之一。
包括在各种类型的考试中,比如:专升本、考研、软考和其它一些资格证书考试,数据结构几乎是必考的,可见其重要性。
数据结构也是面试时必会考核的内容。
怎么学好数据结构
接触过数据结构的同学都会觉得数据结构很难,它难在哪呢?概念多、抽象、逻辑性强。那么该如何学好数据结构呢?
首先就是要多锻炼自己,多思考,人的脑子长时间不用就会生锈,每天保持大脑的有效思考, 能够使你的思维越来越灵活。
然后就是多写代码,这个自然不用多说,编程要的就是多写,学完一个知识点后,自己动手实现一下程序,出问题就设法解决。
专栏介绍
关于数据结构的教程,网上也有很多,因为能力有限,我也写不出十分高质量的文章,但既然是教程,要的不就是通俗易懂吗?如果我的文章能够让你看懂,那我就是成功了。
接下来的计划是这样的,每周我会推出一篇专栏文章,到明年的6月份完结,期间差不多有24周的时间,所以本专栏至少会有25篇文章,当然上不封顶,有时间我肯定会多写一点,专栏内容包括:
- 线性表
- 栈
- 队列
- 串
- 数组
- 广义表
- 树
- 图
- 查找算法
- 排序算法
目前的打算是这样,后期可能会视情况有所更改。