第一章 绪论
1.2基本概念和术语
1.2.1数据、数据元素、数据项和数据对象
数据:是客观事物的符号表示,是所有能够输入到计算机中并被计算机处理的符号的总称
数据元素:又称元素、记录等。**是数据的基本单位。**数据元素常用来完整的描述一个对象,如学生记录。
数据项:是数据元素的最小单位。例如学生基本信息中的姓名,学号等等。
数据对象:是性质相同的数据元素的集合,是数据的一个子集
1.2.2数据结构
数据结构:是相互之间存在一种或多种特殊关系的数据元素的集合。
数据结构包括逻辑结构和存储结构两个层次:
1.逻辑结构
从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的。
数据的逻辑结构有两大要素:一是数据元素,二是关系
其中,树结构、图结构和集合结构都是非线性结构
线性结构包括线性表(如学生的基本信息)、栈和队列(具有特殊限制的线性表,数据操作只能在一端或两端进行)、字符串(也是特殊的线性表,其特殊性在于他的数据元素仅由一个字符构成)、数组(是线性表的推广,他的数据元素是一个线性表)、广义表(也是线性表的推广,他的数据元素是一个线性表,但不同构,即或者是单元素,或是线性表)。
非线性结构:树、二叉树、有向图、无向图
2.存储结构
数据在计算机中的存储表示称为存储结构,也称物理结构。
有两种存储形式:顺序存储和链式存储
1.2.3数据类型和抽象数据类型
1.数据类型
数据类型是一个值的集合和定义在这个值集上的操作的总称
2.抽象数据类型
一般由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称,具体包括三部分:数据对象,数据对象上的关系集合,数据对象的基本操作集合
1.4算法和算法分析
1.4.1算法的定义及特性
(1)有穷性
(2)确定性
(3)可行性
(4)输入/输出
1.4.3算法的时间复杂度
一个算法的执行时间大致等于所有语句执行时间的总和,而语句执行时间则为该语句的重复执行次数*执行一次所需的时间
一条语句重复执行次数称为语句频度
设每条语句执行一次所需的时间都是单位时间,则一个算法的执行时间可用该算法中所有语句频度之和来表示
1.常量阶