什么是数据结构?

在计算机的课程中,数据结构是不可缺少的一部分,在日常开发中,充满了各种各样的数据结构,那么我们如何来理解并学习数据结构?数据结构到底是什么?

官方来说,数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成
数据结构决定了数据的顺序和位置关系,比如:
一排箱子,每个箱子里存放一本书,那么这本书就是一个数据,箱子则代表内存.
数据存储在内存时,决定了数据的顺序和位置关系的就是数据结构

我们来举一个例子:比如你是一个图书爱好者,平常喜欢读书,买了很多很多很多很多…的各种各样的书籍,像java开发书籍,python书籍,c++或者名著等等.
那么你需要把这些书籍存放在书柜上,有几种不同的存放方式:
1.按照先来后到顺序存放,每买一本书,就放上去,当你买了很多很多的书的时候,你的书柜上的书已经很多,结构混乱,这时候你想要找一本<<Java从入门到放弃>>的时候,显然是要从书柜的最上面或者最下面一个个去查找,这样相当的耗时耗力.如果书籍不多的话,的确可以很快的找到,但是如果有上百本,几百本书的话那就不那么容易的找到了.
2.可以按照书籍的名字首字母来分类放在一起,想要找一本书的时候只需要知道它的首字母即可直接去寻找书籍,这样效率显然是比第一种要快一些,但是如果分类之后新买的一本书的名字位于其他书之间,就需要先把其他的书搬下来,然后再把新买的书放上去,这样添加数据的时候就会比较麻烦
3.可以按照书籍的类型来分类放在一起,每种类型分开存放,那么想要查找<<Java从入门到放弃>>的时候,只需要到Java分类中去查找即可,效率较高,新买了一本书之后也可以直接放在某种分类的上面,综合来看是要比上面两种方法略有优化.

数据结构其实也就是把书籍放到对应的位置,也就是将数据存储到内存的时候,选择一种比较优化的方式,就可以提高内存的效率.
之后的文章会详细的介绍每一种数据结构.

所写文章都为本人学习的记录,如有错误,希望大佬指出,谢谢!