数据:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素:是数据的基本单位【与数据的关系:是集合的个体】,在计算机程序中通常作为一个整体进行考虑和处理。
数据项:是数据的不可分割的最小单位。一个数据元素可由若干个数据项组成。
数据 > 数据元素 > 数据项
数据对象:是性质相同的数据元素的集合,是数据的一个子集【与数据的关系:是集合的子集】。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
结构:数据元素相互之间的关系【关系:数据元素之间的逻辑关系,故称为数据的逻辑结构】。
逻辑结构的线性划分:线性结构和非线性结构。
集合 | 结构中的数据元素同属于一个集合,再无其他关系 |
线性结构 | 结构中的数据元素存在一对一的关系 |
树形结构 | 结构中的数据元素存在一对多的关系 |
图状结构或网状结构 | 结构中的数据元素存在多对多的关系 |
数据结构的形式定义:二元组
Data_Structure=(D,S)
D:数据元素的有限集
S:D 上关系的有限集
物理结构/存储结构:数据结构在计算机中的表示(映像),包括数据元素的表示和关系的表示。
数据元素之间的关系在计算机中的表示方法:
- 顺序映像:借助元素在存储器中的相对位置表示数据元素之间的逻辑关系
- 非顺序映像:借助指示元素存储地址的指针表示数据元素之间的逻辑关系
存储结构:
- 顺序存储结构:借助一维数组进行描述
- 链式存储结构:借助指针进行描述
- 索引存储结构
- 散列存储结构
数据类型:是一个值的集合和定义在这个值集上的一组操作的总称。
数据类型=值的集合+值集合上的一组操作
数据类型的分类:
- 原子类型
- 结构类型:其值是由若干成分按某种结构组成的,可以分解,其成分可以是非结构的,也可以是结构的
在某种意义上,数据结构可以看成是“一组具有相同结构的值”,则结构类型可以看成由一种数据结构和定义在其上的一组操作组成。
抽象数据类型 ADT:指一个数学模型以及定义在该模型上的一组操作。
抽象数据类型按其值的不同特性的分类:
- 原子类型:变量的值不可分解
- 固定聚合类型:变量的值由确定数目的成分按某种结果组成
- 可变聚合类型:与固定聚合类型相比,“值”的成分的数目不确定
抽象数据类型的定义:由一个值域和定义在该值域上的一组操作组成,仅取决于其一组逻辑特性。
抽象数据类型的表示:三元组
(D,S,P)
D:数据对象
S:D 上的关系集
P:对 D 的基本操作集
定义抽象数据类型:
ADT 抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
} ADT 抽象数据类型名
//基本操作
基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
数据对象和数据关系的定义用伪码描述。
基本操作的参数:
- 赋值参数:只为操作提供输入值
- 引用参数:& 打头,既可提供输入值,又可返回操作结果
多形数据类型:指其值成分不确定的数据类型。