数据结构---绪论
数据结构-绪论
研究内容
非数值计算问题
概念:是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科。
计算机进行数值计算步骤:1.抽象数学模型2.设计算法3.编写程序4.测试,调试
基本概念和术语
数据:客观事物的符号表示,eg:整数,实数,字符,经过特殊编码定义的数据(图像,声音,动画)...
数据元素:数据的基本单位,通常作为整体考虑
数据项:组成数据元素的,有独立含义的,不可分割的最小单位
数据对象:性质相同的数据元素的集合,数据的一个子集
数据结构
概念:相互之间存在一种或者多种特定关系的数据元素的集合
逻辑结构(从逻辑关系上描述,与数据存储无关),要素包括数据元素和关系(逻辑关系)
1.集合结构2.线性结构3.树结构4.图结构或者网状结构
存储结构/物理结构
概念:数据对象在计算机中的存储表示
1.顺序存储结构:借助元素在存储器中的相对位置来表示数据间的逻辑关系,要求所有元素依次存放在一片连续的存储空间中。eg:数组类型
2.链式存储结构:无需占用一整块存储空间,给每个节点附加指针字段,用来存放后继元素的存储地址。
eg:链式存储结构(每个节点占用两个连续的存储单元,一个存节点的信息,另一个存后继节点的首地址)
数据类型是一个值的集合和定义在这个值上一组操作的总称。
抽象数据类型:可以由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的操作的总称
-
数据对象2.数据对象上关系的集合3.数据对象的基本操作的集合
定义格式
ATD 抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:基本操作名(参数表) #赋值参数(提供输入值),返回操作结果
初始条件:<初始条件描述>#描述数据结构和参数需要描述的条件
操作结果:< 操作结果描述>#数据结构的变化状况和返回的结果
}ATD 抽象数据类型名
抽象数据类型的表示与实现
eg抽象层:抽象数据类型
实现层:类
应用层:对象
(1)定义在上面
(2)表示:存储结构用类型定义typedef描述 ,数据元素类型定义用ElemType
(3)表示:用函数表示基本操作的算法
函数类型 函数名(函数参数表)
{//算法说明语句数列
}//函数名
概念:算法是为了解决某类问题而规定的有限长的操作序列