数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中,并被计算机程序处理的符号的总称
数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理(一个数据元素可由若干个数据项组成)
数据元素之间的关系在计算机中有两种不同的表示方式
- 顺序映像
- 非顺序映像
由表示方式得到两种不同的存储结构
-
顺序存储结构
在计算机内存中,存储的数据的内存地址,是要连续的,所以是顺序存储结构
例如:数组的实现
-
链式存储结构
在计算机内存中,存储的数据的内存地址,不需要连续,只要记得下个数据的内存地址(即指向那个数据的位置,无论这个数据存储在内存的哪个位置)
例如:链表的实现
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
整数数据对象是集合 N = {0,±1,±2,…}
字母字符数据对象是集合 C = {‘A’,‘B’,…,‘Z’}
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合(各个地方的说法不同)
数据结构一般有以下几种
- 集合:结构中的数据元素之间除了“同属一个集合”的关系外,别无其他关系
-
线性结构:结构中的数据元素之间存在一个对一个的关系
-
树形结构:结构中的数据元素之间存在一个对多个的关系
-
网状结构或图状结构:结构中的数据元素之间存在多个对多个的关系
数据结构的形式定义为:数据结构是一个二元组 Data_Structure = (D, S)
D是数据元素的有限集
S是D上关系的有限集
例:D中包含三个实数{A, B, C},而S是定义在集合D上的一种关系,如 A → B(A能推导出B),B → C
注意:上面的S的例子,只是说明“S是定义在集合D上的一种关系”,A→B只是一种形式,你也可以说他们的关系有 A 是 B的多少倍关系
逻辑结构:结构定义中的“关系”描述的是数据元素之间的逻辑关系
物理结构:也叫存储结构,是数据结构在计算机中的表示(又称映像)