数据:是对客观事物的符号表示(指所有能输入到计算机并被计算机程序处理的符号的总称)。
数据元素:是数据的基本单位,在计算机程序中通常作为一个整体来考虑或处理。一个数据元素可由若干个数据项组成。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素之间的关系称为结构。
结构分为以下基本类型:
- 集合 结构中的数据元素之间除了“同属于一个集合”的关系外,别无其它关系;
- 线性结构 结构中的数据元素之间存在一个对一个的关系;
- 树形关系 结构中的数据元素之间存在一个对多个的关系;
- 图状结构或网状结构 结构中的数据元素之间存在多对多的关系。
位:是二进制数的一位,是表示信息的最小单位。
一个由若干位组合起来形成的一个位串表示一个数据元素,通常将这个位串为元素或结点。当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串称为数据域。因此,元素或结点可看成是数据元素在计算机中的映像。
数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像。
两种不同的存储结构:顺序存储结构 和链式存储结构。
顺序映像:特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。
非顺序映像:特点是借助元素存储地址的指针表示数据元素之间的逻辑关系。
- 数据类型:是一个值的集合和定义在这个值集上的一组操作的总称。例如:C语言中的整形变量,其值集为某个区间上的整数,定义在其上的操作为加、减、乘、除和取模等算术运算。
按“值”的不同特性,数据结构可分为:
- 非结构的原子类型 原子类型的值是不可分解的,例如C语言中的基本类型(整型、实型、字符型和枚举型)、指针类型、空类型。
- 结构类型 结构类型的值是由若干成分按某种结构组成的,因此是可以分解的,并且它的成分可以是非结构的,也可以是结构的。例如数组。
- 抽象数据类型:是指一个数学模型以及定义在该模型上的一组操作。
- 原子类型 属原子类型的变量的值是不可分解的。
- 固定聚合类型 属该类型的变量,其值由确定数目的成分按某种结构组成。
- 可变聚合类型 其类型“值”的成分的数目是不确定的。
ADT 抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT 抽象数据类型名
基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
基本操作有两种参数:赋值参数只为操作提供输入值;引用参数以&开头,除可提供输入值外,还将返回操作结果。
- 多形数据类型:是指其值的成分不确定的数据类型。