1
《数据结构(C++版)》复习提要与实验指导
1.4.1.1 1.1.1 基本概念及有关术语

1.1.1 基本概念及有关术语

1. 数据(Data)是人们利用文字符号、数字符号以及其他规定的符号对客观现实世界的事物及其活动所做的抽象描述。它是计算机程序加工的“原料”。

2. 数据对象(Data Object)是性质相同的数据元素的集合,是数据的一个子集。例如:描述N个学生的有关信息的N个数据元素就构成了一个数据对象。

3. 数据类型(Data Type)是一组性质相同的值的集合以及定义在这个集合上的一组操作的总称。

4. 抽象数据类型(Abstract Data Type)通常是指由用户定义,用以表示实际应用问题的数据模型,一般由基本数据类型或其他已定义的抽象数据类型以及定义在该模型上的一组操作组成。

5. 数据结构(Data Structure)是指相互之间存在一种或多种特定关系的数据元素的集合。具体来说,数据结构包含三个方面的内容,即数据的逻辑结构、数据的存储结构(或称物理结构)和对数据所施加的一组操作。

6. 逻辑结构是指数据元素之间本身所固有的独立于计算机的一种结构,这种结构可以用数据元素之间固有的关系的集合来描述。

7. 存储结构(或物理结构)是数据的逻辑结构在计算机存储器中的具体存放方式的体现,是逻辑结构在计算机存储器中的映象。

8. 操作是对数据对象进行处理的一组运算或处理的总称。操作的定义直接依赖于逻辑结构,但操作的实现必依赖于存储结构。

9. 算法(Algorithm)是对待定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。

10. 算法分析(Algorithm Analysis)是指从“时间”和“空间”两个方面来分析算法的效率。

11. 算法的5个重要特性:

(1) 输入性。具有0个或若干个输入量,这些输入量取自于某个特定的对象的集合。

(2) 输出性。具有一个或多个输出量,且当有一个以上的输入量时,该输出依赖于一组确定的输入量。也即对于某一组确定的输入量有唯一的输出量与之对应。

(3) 有限性。构成算法的指令的序列一定是有限序列。

(4) 确定性。算法中的每一条指令必须有确切的含义,无二义性。

(5) 可行性。算法中所描述的操作都可以用已有的有限条指令或已实现的有限个基本运算来实现。

12. 算法设计的5个基本要求:

(1) 正确性。算法应满足具体问题的需求,这是算法设计的基本目标。

(2) 可读性。算法的可读性有助于人对算法的理解,便于系统设计人员之间的合作与交流,也便于对算法相应的程序进行调试和查错。

(3) 健壮性。当输入非法数据时,算法要能作出适当处理,而不至于产生莫名其妙的输出结果。

(4) 高时间效率。算法的时间效率指的是算法的执行时间效率。对解决统一问题而言,执行时间越短的算法,其时间效率越高。

(5) 高空间效率。算法在执行时一般要求额外的存储空间。对于同一问题而言,如果有多个算法可供选择,则存储空间要求较低的算法具有较高的空间效率。