
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.2和图1.3所示。

图1.2 学校组织机构图

图1.3 城市之间交通路线图
5.数据类型
数据类型(data type)用来刻画一组性质相同的数据及其上的操作。数据类型是按照值的不同进行划分的。在高级语言中,每个变量、常量和表达式都有各自的取值范围,该类型就说明了变量或表达式的取值范围以及所能进行的操作。例如,在Python语言中,一个英文字符占一个字节,即8位,对于使用UTF-8编码的汉字来说,一个中文字符占3个字节,对于使用GBK编码的汉字来说,一个汉字占2个字节。在相同的字符编码情况下,字符类型决定了它的取值范围,同时也定义了在其范围内可以进行赋值运算、比较运算等。
在Python语言中,数据类型按照结构可分为:原子类型和结构类型。原子类型是不可以再分解的基本类型,包括整型、浮点型、复数型、布尔型、字符串型。结构类型是可以再分解的,它由若干个类型组合而成,包括列表、元组、集合、字典,如图1.4所示。

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