什么是数据结构
一、逻辑结构
-
线性结构(1V1):线性表、栈(先进后出)、队、串、数组
-
非线性结构(1vn/nvn)
(1)树结构:人机对弈
(2)图结构
二、存储结构(物理结构)
-
顺序结构
-
链式结构(指针)
-
索引结构
-
散列结构
三、数据运算
-
插入运算
-
删除运算
-
修改运算
-
查找运算
-
排序运算
!运算实现依赖于存储结构
问题类型
一、数值型问题
数学方程
二、非数值型问题
数据结构
基本概念和术语
-
数据
-
数据元素:数据的基本单位
-
数据项:构成数据元素,是数据不可分割的最小单位
-
数据对象:性质相同的数据元素的集合,是数据的一个子集
-
结构:数据元素相互之间的关系
!二元组 DS=(D,R) D:数据元素 R:数据关系
数据类型
一、数据类型
二、抽象数据类型(ADT)
1.ADT=(D,S,P) D:数据元素 R:数据关系 p:基本操作
2.基本操作
基本操作名(参数表)
初始条件:(初始条件描述)
操作结果:(操作结构描述)
3.基本参数
(1)赋值参数:只为操作提供输入值
(2)引用参数:以&打头,除了可以提供输入值之外,还将返回操作结果
算法
有限指令集,遵循指令流可以完成特定的功能
当原指令时间为单位1时,执行时间=执行次数
T(n)=O(f(n))=O(n^2)