一、数据结构的基本概念
数据结构就是数据之间存在特定关系的集合。
二、逻辑结构与物理结构
1.逻辑结构
这里我们需要注意的是,逻辑结构是我们自己想象出来的,是数据之间的相互关系。
· 线性结构
线性结构是各数据元素之间是一对一的关系。
· 树形结构
树形结构是一对多的层次关系。
· 图形结构
图形结构是各元素之间是多对多的关系。
2.物理结构
物理结构是数据在计算机中的具体存储形式。
· 顺序存储结构
顺序存储结构的方式是开辟一连串的连续的空间来存储数据,而数组刚好它的空间就是连续的,所以我们经常用数组来实现,保证了各数据之间的关系。
· 链式存储结构
链式存储结构开辟空间的时候则是随机开辟的,这样保证了内存的充分利用,我们通常用节点来实现,每一个节点上既要存储数据,也要存储下一个数据的地址,来指向下一个数据,保证了数据之间的链式存储关系。
3.各个逻辑结构的物理存储方式
① 线性存储结构的物理存储方式
· 线性结构的顺序存储方式
如上图所示,线性结构的顺序存储结构是按顺序逐个将个元素放入开辟的顺序空间中。
· 线性结构的链式存储方式
线性结构的链式存储结构是在每个节点上放入数据和下一个数据的地址,前一个节点需要指向下一个节点则通过每个节点上的地址来访问。
② 树形结构的物理存储方式
· 树形结构的顺序存储方式
树形结构的顺序存储方式是对每一个节点进行标号,也就是相当于把每一个节点按标号顺序存入相应的顺序空间内,标号的规则必须把考虑得到的所有点算进去,没有出现的节点在顺序存储结构中要空出来,所以这样就会浪费大量的空间。
· 树形结构的链式存储方式
树形结构的链式存储方式是把每一个数据存在一个链节点中,存入数据的同时,也要把孩子结点的地址存入,只有一个孩子的将另一个村孩子结点的地址赋空。
③ 图形结构的物理存储结构
· 图形结构的顺序存储方式
图形结构的顺序存储方式采用邻接矩阵来表示,用邻接矩阵来表示各个节点所能到达的节点。
· 图形结构的链式存储方式
如上图所,表达了0可以到1、2、4三个点,1可以到0、3、5三个点,以此类推。