第一章 绪论
1.1什么是数据结构
数据结构是一门研究非数值计算的程序设计问题中的计算机的操作对象以及它们之间的关系和操作等等的学科。
1.2基本概念和术语
数据(data)是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机并被计算机程序处理的符号的总称。
数据元素(data element) 是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。----一个数据元素可由若干数据项(data item)组成
数据对象(Data Object)是性质相同的数据元素的集合,是数据的一个子集
数据结构(data structure) 是互相之间存在一种或多种特定关系的数据元素的集合
这种元素互相之间的个关系称结构(structure)
四类基本结构:
-
集合
-
线性结构
-
树形结构
-
图状结构或网状结构
数据结构的形式定义为:数据结构是一个二元组
Data_structure=(D,S)
其中,D是数据结构的有限集,S是D上的关系的有限集。
上述是数据的逻辑结构
数据结构在计算机中的表示(又称映像)称为物理结构,又称存储结构。
数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像
由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
数据类型(Data type) 是一个值得集合和定义在这个值集上的一组操作的总称。
抽象数据结构(Abstract Data Type)是指一个数学模型以及定义在该模型上的一组操作
ADT抽象数据类型名{
数据对象:《数据对象的定义》
数据关系:《数据关系的定义》
基本操作: 《基本操作的定义》
} ADT 抽象数据类型名
基本操作名(参数表)
初始条件:《初始条件描述》
操作结果:《操作结构描述》
基本操作有两种参数:赋值参数只为操作提供输入值;
引用参数以&打头,除可提供输入值外,还将返回操作结果。
多形数据类型(polymorphic data) : 是指其值的成分不确定的数据类型。
1.3 抽象数据类型的表示与实现
1.4 算法和算法的分析
算法(algorithm) 是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作,此外算法还包括五个重要特性
- 有穷性
- 确定性
- 可行性
- 输入
- 输出
1.4.2算法设计的要求
- 正确性(correctness)
- 可读性(Readability)
- 健壮性(robustness)
- 效率与低存储量的需求
1.4.3算法效率的度量:
时间复杂度
空间复杂度(space Complexity)