目录
数据结构是带结构的数据元素的集合
一、数据
数据计算机操作的对象的总称。(有很多种概念,了解即可)
数据:{数据元素(结点)} (数据元素的集合)
数据元素是数据结构中讨论的基本单位
数据元素分为
原子型:不可分割的 eg:整数5,字符"N"
复合型 :由数据项构成 eg:描述学生的数据元素【姓名 学号 出生日期(年 月 日)】
数据项是数据结构中讨论的最小单位
数据项分为
原子项:不可再分 eg:姓名、学号
组合项:eg:出生日期,由年月日组合而成
二、结构
结构是指数据元素之间存在的关系
按关系的类型可以分为
线性结构
树形结构
图形结构
集合结构
三、数据结构
3.1 逻辑结构(抽象)
从集合论的角度,数据的逻辑结构可以用二元组B = (K,R)来表示
Data_Structures = (K,R)
K是数据元素(结点)组成的有限集
B是K上关系的有限集
3.2存储结构(实现)
存储结构是逻辑结构在存储器中的映像
关系的映像方法有
顺序方法:存储空间连续 eg:数组 访问数据元素方便但插入删除需大量移动且对存储空间要求高
链式方法:存储空间分散,数据元素(结点)由数据域和指针域构成 存储密度小(存储密度 = 数据所占空间 比 总占空间)
索引方法:是顺序存储的推广
散列方法:索引法的延伸和拓展
3.3运算结构
3.4抽象数据类型
数据模型+操作
特点:抽象、封装
一般而言,抽象数据类型可以用三元组表示:(D,R,P),即
ADT 抽象数据类型名{
数据对象D:<数据对象的定义>
数据关系R:<数据关系定义>
基本操作P:<基本操作的定义>
}ADT 抽象数据类型名
D是数据对象,R是D上的关系集,D和R二者定义了数据的模型,是对数据的抽象;
P是对D的基本操作集,定义了该数据模型的功用,是对数据操作的抽象。
四、算法
概念:求解问题给出的指令序列
性质:有穷性、确定性、有效性、通用性、输入与输出特性
算法设计:穷举法、回溯法、分治法、递归法(二分检索、快速排序)、递归法、贪心法和动态规划等。
五、算法分析
计算机资源中最重要的是时间资源(处理器)和空间资源(存储器)
5.1 时间复杂性
算法的渐进分析方法,简称算法分析
大O表示法:表达函数增长率上限