1.2 基本概念和术语

在学习数据结构的过程中,有一些基本概念和专业术语会经常出现,下面先来了解一下这些基本概念和术语。

1.数据

数据(data)是描述客观事物的符号,能输入到计算机中并能被计算机程序处理的符号集合。它是计算机程序加工的“原料”。例如,一个文字处理程序(如Microsoft Word)的处理对象就是字符串,一个数值计算程序的处理对象就是整型和浮点型数据。因此,数据的含义非常广泛,如整型、浮点型等数值类型及字符、声音、图像、视频等非数值数据都属于数据范畴。

2.数据元素

数据元素(data element)是数据的基本单位,在计算机程序中通常作为一个整体考虑和处理。一个数据元素可由若干个数据项(data item)组成,数据项是数据不可分割的最小单位。例如,一个学校的教职工基本情况表包括工号、姓名、性别、籍贯、所在院系、出生年月及职称等数据项。教职工基本情况如表1-1所示。表中的一行就是一个数据元素,也称为一条记录。

表1-1 教职工基本情况

3.数据对象

数据对象(data object)是性质相同的数据元素的集合,是数据的一个子集。例如,对于正整数来说,数据对象是集合N={1,2,3,…};对于字母字符数据来说,数据对象是集合C={'A','B','C',…}。

4.数据结构

数据结构(data structure)即数据的组织形式,它是数据元素之间存在的一种或多种特定关系的数据元素集合。在现实世界中,任何事物都是有内在联系的,而不是孤立存在的,同样在计算机中,数据元素不是孤立的、杂乱无序的,而是具有内在联系的数据集合。例如,表1-1的教职工基本情况表是一种表结构,学校的组织机构是一种层次结构,城市之间的交通路线属于图结构,如图1-1和图1-2所示。

图1-1 学校组织机构图

图1-2 城市之间交通路线图

5.数据类型

数据类型(data type)用来刻画一组性质相同的数据及其上的操作。数据类型是按照值的不同进行划分的。在高级语言中,每个变量、常量和表达式都有各自的取值范围,该类型就说明了变量或表达式的取值范围和所能进行的操作。例如,C语言中的字符类型规定了所占空间是8位,也就决定了它的取值范围,同时也定义了在其范围内可以进行赋值运算、比较运算等。

在C语言中,按照取值的不同,数据类型还可以分为原子类型和结构类型两类。原子类型是不可以再分解的基本类型,包括整型、实型、字符型等。结构类型是由若干个类型组合而成,是可以再分解的。例如,整型数组是由若干整型数据组成的,结构类型的值也是由若干个类型范围的数据构成,它们的类型都是相同的。

随着计算机技术的飞速发展,计算机从最初仅能够处理数值信息,发展到现在能处理的对象包括数值、字符、文字、声音、图像及视频等信息。任何信息只要经过数字化处理,能够让计算机识别,都能够进行处理。当然,这需要对要处理的信息进行抽象描述,让计算机理解。