数据结构的三要素 : 逻辑结构 物理结构 数据的运算
1. 逻辑结构分为线性结构和非线性结构
-
线性结构
线性表 队列 栈等
-
非线性结构
树 图 集合等
2.物理结构
物理结构又称存储结构
-
顺序结构
把逻辑上相邻的元素储存在物理位置也相邻的储存单元中,元素之间的关系由储存的相邻关系直接体现.
优点:可以实现随机存取,每个元素占用最少的存储空间
缺点:只能使用一块相邻的整块存储单元,因此可能产生较多的外部碎片.
-
链式存储
不要求逻辑相邻的元素在物理结构上也相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系.
优点:不会出现碎片现象,能够充分利用所有存储单元.
缺点:每个元素都会因为储存指针而占用额外的存储空间,且只能实现顺寻存取.
-
索引存储
在存储元素信息的同时,还建立附加的索引表0索引表的每项称索引项,索引项的一般形式是(关键字,地址).
优点:检索速度快
缺点:附加的索引表额外占用空间.另外,增加和删除数据时也要修改索引表,因此会花费较多的时间.
-
散列存储
根据元素的关键字直接算出该元素的存储地址,又称为哈希(Hash)存储.
优点:检索 增加和删除结点的操作都很快.
缺点:若散列函数不好,则可能出现元素存储单元的冲突,而解决冲突会增加时间和空间开销.
3.数据的运算
施加在数据上的运算包括运算的定义和实现.
- 运算的定义是针对逻辑结构的,指出运算的功能;.
- 运算的实现是针对存储结构的,指出运算的具体操作步骤.
注:本文参考王道考研系列的《2021年 数据数据结构考研复习指导》