程序=数据结构+算法。可以看出数据结构在编程中非常重要,不会数据结构也不会是合格的程序猿。
数据结构(data structure)
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据元素间的关系称为结构。客观事物之间存在着各种不同的联系,但将其抽象为数据以后再来研究它们所具有的共性关系就简单得多。
数据结构研究这种关系的目的是把数据合理、有效地存储到计算机上进行处理,所以我们的着眼点是数据间的位置关系、数据间是否存在直接或间接的联系等方面。
一个班的学生名单表中,学生是一个接着一个排列的,可以将其抽象为“一对一的线性结构”,而把它们随机地记录在笔记本上是时,从位置上看并没有任何关系,只能看出这些 人同属于一个班级。
某单位的上级单位与各个下级单位的关系、祖辈与后辈的关系就可以被抽象为“一对多的树形结构”。
某城市中各个公交站点之间的关系、通信线路上各用户之间的关系则可以用“多对多的图形结构”描述。
根据数据间的不同特性一般可以分成4类基本结构。
1.集合
![](https://zouzhongliang.com/wp-content/uploads/2019/06/数据结构集合.jpg)
2.线性结构
![](https://zouzhongliang.com/wp-content/uploads/2019/06/线性结构.jpg)
3.树形结构
![](https://zouzhongliang.com/wp-content/uploads/2019/06/树形结构.jpg)
4.图状结构
![](https://zouzhongliang.com/wp-content/uploads/2019/06/图状结构.jpg)