一、数据结构简介
数据结构是相互间存在特定关系的数据的集合,分为逻辑结构和存储结构。
数据结构关系图
1、逻辑结构
集合结构:
数据元素之间没有特别的关系,仅同属相同集合
线性结构:
数据元素间是一对一的关系,通过前一个结点就能找到后一个结点,线性结构中的「数据元素」逐个排列「线性结构」中前后两个结点互有联系。
树形结构:
数据元素间存在一对多的层次关系,除根结点之外,属性结构的每一个结点都必须有一个且有只有一个前驱结点,但可以有任意个后继结点。这些数据元素有自顶向下的层次关系。
图形结构:
数据元素之间是多对多的关系,每个结点的前驱接电和后继结点都可以是任意个
2、存储结构
存储结构是逻辑结构在计算机中存储形式,分为顺序存储结构和链式存储结构,索引结构和散列结构
顺序存储结构:
是由一段地址连续的空间来存储元素
优点:查找效率高,对于随机访问元素,其存储地址也是紧邻可以按照元素序号快速查找到某一个元素。
缺点:增删效率低,因为插入一个元素,需要将这个位置之后的所有元素都向后移动一个位置;同样,如 果想要删除一个元素,需要将这个位置之后的所有元素都向前移动一个位置。
链式存储结构:
是由分散的单元空间来存储元素,存储单元由指针相连接
优点:增删操作效率高,因为由分散的单元空间来存储元素
缺点:查找效率低,因为分配的内存单元有一部分被用来存储结点之间的逻辑关系,无法进行元素随机访问。
索引存储结构:
为了方便查找数据,存储结点信息的同时,还建立附加的索引表。
散列存储结构:
又称为「哈希存储」,是一种力图将「数据元素」的存储位置与关键字之间建立确定对应关系的查找技术。