概 论
计算机 的应用领域非常广泛 ,既可 以用于科学计算 ,也可 以用于情报
检索 、企业管理 ,等等 ,而它的功能概括起来却只有一个 ,那就是处理数
据 。
计算机所处理 的数据决不是杂乱无章的,而是有着某种 内在联系的。
只有分清楚数据的内在联系,合理地组织数据 ,才能对它们进行有效处理 。
如何合理地组织数据 、高效率地处理数据 ,正是本课程的教学 目的之所在 。
作为全书的导引,本章扼要介绍有关数据结构 的几个重要概念和将要
学习的主要 内容。
基本术语
数据
在计算机科学 中,数据 的含义非常广泛 ,我们把一切能够输入到计算
机 中并被计算机程序处理的信息,包括文字、表格 、图像等 ,都称为数据
例如,一个个人书库管理程序所要处理的数据可能是一张如 图 所示的表
格 。
结点
结点也 叫数据元素 ,它是组成数据 的基本单位 在程序 中通常把结点
作为一个整体进行考虑和处理 。例如,在如 图 所示 的个人书库 中,为 了
便于处理,把其中的每一行 (代表一本书)作为一个基本单位来考虑,故该数
据由 个结点构成。
一般情况下,一个结点中含有若干个字段 (也叫数据项) 例如,在上面
提到的表格数据 中,每个结点都 由书号、书名 、作者、购书 日期和价格等
个字段构成 字段是构成数据 的最小单位 。
逻辑结构
结点和结点之间的逻辑关系称为数据的逻辑结构。
在前面提到 的表格数据 中,各结点之 间在逻辑上有一种线性关系 ,它
指出了 个结点在表 中的排列顺序 。根据这种线性关系,可 以看 出表 中第
本书是什么书 ?第 本书是什么书 ?等等
图 个人书库
存储结构
数据在计算机 中的存储表示称为数据 的存储结构
前面提到 的表格数据在计算机 中可 以有多种存储表示 ,例如 ,可 以表
示成数组,存放在 内存 中;也可 以表示成文件,存放到磁盘上,等等
数据结构
关于什么是数据结构 , 目前还没有一个公认 的标准定义 在本书 中,
把按某种逻辑关系组织起来 的一组结点,按一定的存储方式存储于计算机
中,并在其上定义了一个运算 的集合 ,称为一个数据结构
数据类型
数据类型是高级程序设计语言 中的一个基本概念 ,它和数据结构 的概
念密切相关。
一方面 ,在程序设计语言 中,每一个数据都属于某种数据类型 。类型
明显或 隐含地规定 了数据 的取值范 围、存储方式 以及允许进行 的运算 可
以认为,数据类型是在程序设计语言中已经实现 了的数据结构
另一方面 ,在程序设计过程 中,当需要 引入某种新 的数据结构时,总
是借助编程语言所提供 的数据类型来描述数据 的存储结构
数据的逻辑结构
在大多数情况下 ,数据 的逻辑结构可 以用二元组
来表示 。其 中, 是结点的有 限集合; 是结点有序对 的集合 ,表示 上 的
一种关系。
例如,二元组 )和 )分别描述 具有 个
结点的三种不 同的逻辑结构,其 中
对于任意一个逻辑结构 ,若 ,则 称 是 的前
是 的后继 ;若某结点没有前驱 ,则称该结点为开始结点;若某结点没有
后继 ,则称该结点为终端结点 例如 ,在