数据、数据元素、数据项、数据对象。数据>数据元素>数据项。数据元素是数据对象的一个子集。
数据结构包括三个方面的内容:
1.逻辑结构
2.存储结构(物理结构)
3.数据的运算和实现
逻辑结构划分方法一:
1.线性结构:线性表、栈、队列、表
2.非线性结构:树、图
划分方法二(四类基本的数据结构):
节点之间
1.集合结构:只有自己
2.线性结构:一对一
3.树状结构:一对多
4.图状结构或者网状结构:多对多
四种基本的存储结构
- 顺序存储结构,C语言中用数组来实现
- 连接存储结构,C语言中用指针来实现
- 索引存储结构,附带一个索引表,每一项叫做一个索引项。一般形式是(关键字,地址),关键字是唯一标识一个节点的数据项每个节点都有一个索引:稠密索引,多个节点一个索引:稀疏索引。一个索引表就是一个数据,每一个索引项都是数据对象,索引项里面的每个元素都是数据元素。
- 散列存储结构
数据类型=值得集合+值上的操作
数据类型的作用:
1.约束取值范围
2.约束数据操作
抽象数据类型(D,S,P)三元组表示,数据对象,数据对象上的关系集,数据对象的基本操作集
抽象数据类型(Abstract Data Type ADT)定义:
ADT 抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT 抽象数据类型名
基本操作定义格式:
参数表:赋值参数,为操作提供输入参数
引用参数,返回操作结果,并提供输入参数
初始条件:描述操作执行之前数据结构和参数应满足的条件,不满足返回出错信息,初始条件为空,可以省略。
操作结果:操作正常完成之后,数据结构的变化和返回的结果。
抽象数据类型的定义与类的定义相似