基本概念
1. 数据
数据是对客观事物的符合表示,在计算机科学中是指所有能输入到计算机中并且被计算机程序处理的符合的总称。例如,整数、实数和字符串都是数据。
2. 数据元素
数据元素时数据的基本单位,在计算机程序中通常将其作为一个整体进行考虑或处理。一个数据元素可以由若干个数据项组成。
3. 数据项
数据项是数据结构中讨论的最小单位,是数据记录中最基本的、不可分的数据单位。
4. 数据对象
数据对象是性质相同的数据元素的集合,是数据的一个子集。
5. 数据结构
数据结构是指相互之间存在的一种或多种特定关系的数据元素的集合。数据结构包含三方面的内容:逻辑结构、存储结构和对数据的运算。
6. 数据的逻辑结构
数据的逻辑结构是对数据之间关系的描述,它与数据的存储结构无关,同一种逻辑结构可以有多种存储结构。
数据的逻辑结构主要有以下两类:
(1)线性结构
线性结构是一个数据元素的有序集合,主要有以下四个基本特征:
- 集合中必须存在唯一的一个“第一个元素”
- 集合中必须存在唯一的一个“最后一个元素”
- 除了最后一个元素之外,其它数据元素均有唯一的“后继”
- 除了第一个元素之外,其它数据元素均有唯一的“前驱”
数据结构中线性结构是指数据元素之间存在着“一对一”的线性关系的数据结构。
(2)非线性结构
与线性结构不同,非线性结构中结点存在着一对多的关系,它又可以细分为树形结构和图形结构。
7. 数据的物理结构
也就是存储结构,是数据的逻辑结构在计算机中的表示(又称映像)。它包含数据元素的表示和关系的表示。当数据元素时由若干数据项构成的时候,数据项的表示称为数据域。
数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像。对应两种不同的存储结构分别是顺序存储结构和链式存储结构。
在数据结构中有以下四种常用的存储方法:
(1)顺序存储方法
逻辑上相邻的两个结点存储在屋里位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。
从根结点开始,从上层至下层,每层从左到右,依次给结点编号并将数据存放在一个数组的相应单元中。
(2)链式存储方法
不要求逻辑上相邻的结点在屋里位置上也相邻,结点间的逻辑关系由附加的指针字段表示。
从根结点开始,从上层至下层,每层从左到右,存储对应结点编号,为了满足顺序存储要求而增加的虚结点,可以在相应的存储单元存放特殊数值。
(3)索引存储方法
在存储结点信息时,除建立结点信息外,还建立附加的索引表来标识结点的地址。索引项的一般形式<关键字,地址>。关键字标识唯一一个结点,地址作为指向结点的指针。
(4)散列存储方法
根据结点的关键字通过散列函数直接计算出该结点的存储地址。