1、数据结构讨论的范畴。
2、基本概念
数据:事物的符号表示,在计算机科学中,指所有能输入到计算机中,并被计算机程序处理的符号的总称。
数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据项:组成数据元素
复合数据项:
数据对象:性质相同的数据元素的集合,是数据的一个子集
数据结构:相互之间存在一种或多种特定关系的数据元素的集合
结构:数据元素之间的关系 (逻辑结构)
数据的物理结构(存储结构):数据结构在计算机中的表示(映像)。 包括数据元素的表示和关系的表示
关系的表示两种:顺序映像和非顺序映像。
两种存储结构:顺序存储结构和链式存储结构。
算法的设计取决于数据(逻辑)结构,算法的实现取决于存储结构
1)集合结构:数据元素除了同属于一个集合外,没有别的关系
2)线性结构:元素之间是一个对一个的关系
3)树形结构:元素存在一对多的关系
4)图状结构:元素存在多对多的关系
可以用别的结构表示集合结构。
Data Structure = {D, S};
D是数据元素的有限集合,S是关系的有限集合
数据类型:一组值的集合与定义在这个值集上的一组操作的总称。
原子类型和结构类型。
抽象数据类型:一个数学模型以及定义在该模型上的一组操作。
3、算法和其量度
算法:对特定问题的求解步骤的描述,他是指令的有限序列。
5个重要特征:
有穷性
确定性:相同的输入得出相同的输出
可行性:可以根据已经实现的基本运算执行有限步,来实现
输入:0个或多个输入
输出:一个或多个输出
设计要求:
正确性。
可读性。
健壮性
效率与低存储量要求
算法的度量:
时间复杂度
空间复杂度