4.3 算法的特性
4.4 “好”算法的特质
5、算法的效率
5.1 时间复杂度
5.2 空间复杂度
1、数据结构的研究内容
===========
-
描述非数值计算问题的数学模型不是数学方程,而是诸多表、树和图之类的具有逻辑关系的数据;
-
数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及他们之间的关系和操作的学科;
2、基本概念和术语
=========
2.1 思维导图
2.2 基本概念
1)数据: 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别、存储、加工的各种符号的集合。数据是计算机程序加工的原料。
包括:
-
数值型数据:整数、实数等;
-
非数值型数据:文字、图像、图形、声音等;
2)数据元素: 数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。也简称为元素,或称为记录、结点或顶点;一个数据元素可由若干数据项组成;
3)数据项: 数据项是构成数据元素的不可分割的最小单位。
注意:数据、数据元素、数据项三者之间的关系: 数据 > 数据元素 > 数据项 例如:学生表 > 个人纪录 > 学号、姓名…
4)数据对象: 数据对象是具有相同性质的数据元素的集合,是数据的一个子集。
注意:4.1)数据元素——组成数据的基本单位 与数据的关系:是集合的个体;
4.2)数据对象——性质相同的数据元素的集合 与数据的关系:集合的子集;
5)数据结构:
-
数据元素不是孤立存在,他们之间存在着某种关系,数据元素相互之间的关系称为结构
-
是指相互之间存在一种或多种特定关系的数据元素集合;
-
数据结构是带结构的数据元素的集合
数据结构包括以下三个方面的内容: 1)数据元素之间的逻辑关系,也称逻辑结构; 2)数据元素及其关系在计算机内存中的表示(又被称为映像),称为数据的物理结构或数据的存储结构; 3)数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现;
2.3 数据结构的两个层次
2.3.1 逻辑结构
-
描述数据元素之间的逻辑关系;
-
与数据的存储无关,独立于计算机;
-
是从具体问题抽象出来的数学模型;
1)线性结构
数据元素之间是一对一的关系。除了第一个元素,所有元素都有唯