第一章 绪论
.1 数据结构的基本概念
数据元 是数据的基本单位,一个 数据元素 可由若干个 数据项 完成, 数据项 是构成 数据元素 的不可分割的最小单位。例如,学生记录就是一个数据元素,它由学号、姓名、性别等数据项组成。
数据对象 是具有 相同性质的数据元素 的集合,是数据的一个子集。
数据类型 是一个值的集合和定义在此集合上一组操作的总称。
原子类型:其值不可再分的数据类型
结构类型:其值可以再分解为若干成分(分量)的数据类型
抽象数据类型 :抽象数据组织和与之相关的操作
抽象数据类型(ADT )是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性 ,而与其在计算机内部如何表示和实现无关。通常用( 数据对象、数据关系、基本操作集 )这样的三元组来表示。
#关键词:数据,数据元素,数据对象,数据类型,数据结构
数据结构的三要素:
逻辑结构 是指数据元素之间的逻辑关系,即从逻辑关系上描述数据,独立于计算机。分为线性结构和非线性结构,线性表、栈、队列属于线性结构,树、图、集合属于非线性结构。
存储结构 是指数据结构在计算机中的表示(又称映像),也称物理结构,包括数据元素的表示和关系的表示,依赖于计算机语言,分为顺序存储(随机存取)、链式存储(无碎片)、索引存储(检索速度快)、散列存储(检索、增加、删除快)。
数据的运算 :包括运算的定义和实现。运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。
1.2 算法和算法评价
算法是对特定问题求解步骤的一种描述,有五个特性: 有穷性、确定性、可行性、输入、输出 。一个算法有 零个或多个的输入 ,有 一个或多个的输出 。
时间复杂度 是指该语句在算法中被重复执行的次数,不仅依赖于问题的规模n,也取决于待输入数据的性质。一般指最坏情况下的时间复杂度。
空间复杂度 定义为该算法所耗费的存储空间。 算法原地工作 是指算法所需辅助空间是常量,即O(1)。