1
算法与数据结构  C语言版
1.3.2.1 1.2.1 基本概念

1.2.1 基本概念


1.数据

数据是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号的集合。换句话说,数据是对客观事物采用计算机能够识别、存储和处理的形式所进行的描述。简言之,数据就是计算机化的信息。数据不仅包括整型、实型等数值类型,还包括字符、声音、图像、视频等非数值类型。

例如,对C源程序,数据不仅仅是源程序所处理的数据。相对于编译程序来说,C编译程序相对于源程序是一个处理程序,它加工的数据是字符流的源程序(.c),输出的结果是目标程序(.obj);对于链接程序来说,它加工的数据是目标程序(.obj),输出的结果是可执行程序(.exe)。

2.数据元素

数据元素是组成数据的、有一定意义的基本单位,是数据集合的个体,在计算机中通常作为一个整体进行考虑和处理。一组数据元素可由一个或多个数据项(data item)组成,数据项是有独立含义的最小单位,此时的数据元素通常称为记录(record)。

例如,学生登记表是数据,每一个学生的记录就是一个数据元素。

3.数据项

一个数据元素可由若干个数据项组成。比如学生登记表中的学号、姓名、出生日期都是数据元素的数据项。

数据项是数据不可分割的最小单位。在“数据结构”课程中,数据项是最小单位,有助于我们更好地解决问题,但真正讨论问题时,数据元素才是数据结构中建立数据模型的着眼点。

4.数据对象

数据对象是性质相同的数据元素的集合,是数据的一个子集。例如,整数数据对象是集合N={0,±1,±2,…},字母字符数据对象是集合C={'A','B',…,'Z'}。不论数据元素集合是无限集(如整数集)、有限集(如字符集),还是由多个数据项组成的复合数据元(如学籍表),只要性质相同,都是同一个数据对象。

5.数据类型

数据类型是一组性质相同的值集合以及定义在这个值集合上的一组操作的总称。数据类型中定义了两个集合,即该类型的取值范围,该类型中可允许使用的一组运算。例如,高级语言中的数据类型就是已经实现的数据结构的实例。从这个意义上讲,数据类型是高级语言中允许的变量种类,是程序语言中已经实现的数据结构(即程序中允许出现的数据形式)在高级语言中的整型类型,则它可能的取值范围是-32 768~+32 767,可用的运算符集合为加、减、乘、除、乘方、取模(如C语言中+、-、*、/、%)。

6.数据结构

数据结构是指相互之间存在一种或多种特定关系的数据元素集合,是带有结构的数据元素的集合,它指的是数据元素之间的相互关系,即数据的组织形式。由此可见,计算机所处理的数据并不是数据的杂乱堆积,而是具有内在联系的数据集合。我们关心的是数据元素之间的相互关系与组织方式,及其施加运算及运算规则,并不涉及数据元素内容具体是什么值。

数据结构定义中提到了一种或多种特定关系,具体是什么关系呢,这正是我们下面要讨论的问题。