1 三要素之逻辑结构:数据元素之间的逻辑关系
-
集合:各个元素同属同一集合,别无其他关系,比如全世界500强公司
-
线性结构:数据元素是一对一的关系,除了第一个元素,其他元素都有唯一前驱;除了最后一个元素,其他元素都有唯一后继。比如学生成绩单
-
树形结构:数据元素之间是一对多的关系。比如文件系统
-
图状结构:数据元素是多对多关系。比如朋友关系网
2 三要素之数据的运算:针对某种逻辑关系,基于实际需求,定义基本运算
比如:
- 逻辑结构是线性结构
- 基本运算:查找第i个元素、在第i与第i+1个元素之间插入元素、删除第i个数据元素等等
- 运算的定义是针对逻辑结构,指出运算的功能;运算的实现是针对物理结构,指出运算的具体步骤
3 三要素之物理结构(存储结构):使用计算机来表示数据元素的逻辑关系
-
数据的存储结构有顺序存储、链式存储、索引存储、散列存储
-
以线性结构为例:
-
顺序存储:把逻辑上相邻的元素存储在物理位置也相邻的存储单元中,元素之间的关系也由存储单元的邻接关系来体现
-
链式存储:逻辑上相邻的元素在物理位置上可以不相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。
-
索引存储:在存储元素信息的同时,还建立索引表(关键字、地址)。索引表中的每项称为索引项。索引存储通过使用特定的数据结构来表示元素之间的逻辑关系。不同的索引结构采用不同的方式来建立和维护元素之间的逻辑关系。
-
散列存储:根据元素的关键字直接计算该元素的存储地址,又称哈希(hash)存储.
-
顺序存储属于顺式存储,其他的都是非顺式存储。采用何种存储结构也带来一些影响:
-影响存储空间分配的方便程度
-影响对数据运算的速度(插入元素)