1. 基本概念和术语
- 数据:描述客观事实的的符号,计算机中可以操作的对象,能被计算机识别,并输入给计算机处理的符号的集合。
- 数据元素: 组成数据、有一定意义的基本单位
- 数据项: 数据不可分割的最小单位。 一个数据元素可以由若干个数据项组成。
- 数据对象: 性质相同的数据元素的集合,是数据的子集
- 性质相同: 数据元素具有相同数量和类型的数据项
- 数据对象 简称为 数据
- 数据结构: 是相互之间存在一种或多种特定关系的数据元素的集合
2. 逻辑结构与物理结构
逻辑结构 数据对象中数据元素之间的相互关系 面向问题
- 集合结构: 类似数学中的集合,仅仅同属一个集合,没有其他关系
-
线性结构: 连续的一对一的关系
-
树形结构: 一对多的层次关系
-
图形结构: 多对多的关系
物理结构 数据的逻辑结构在计算机中的存储形式 (也叫存储结构)面向计算机
- 数据的存储结构一个正确反映数据元素之间的逻辑关系
- 如何实现存储的数据元素之间的逻辑关系 是实现物理结构的重点和难点
-
顺序存储结构:把数据元素存放在地址连续的存储单元里,数据间的逻辑关系和物理关系一致
-
排队占位 比如 数组
-
-
链式存储结构 (不太理解 ?????????
- 数据元素放在任意的存储单元里
- 存储单元可以连续,也可以不连续
- 存储关系不能反映逻辑关系, 因此需要用指针存放数据元素的地址,通过地址找到相关联数据元素的位置
-
适用于时常要变化的结构
3. 抽象数据类型
数据类型
- 数据类型: 一组性质相同的值的集合 以及 定义在此集合上的一些操作的总称
- 例如: C语言中的 int double short long longlong int[]
- 抽象: 抽取出食物具有的普遍性的本质, 抽出特征忽略非本质细节
抽象数据类型
- 对已有数据类型进行抽象
- 抽象数据类型 (Abstract Data Type, ADT) : 是指一个数学模型以及定义在该模型之上的一组操作。
- 仅取决于逻辑特性, 与在计算机内部如何表示和实现无关
- 例如整型int 在各个设备上实现方法不同 但是数学特性相同
- 数据对象 + 数据对象各元素之间关系 + 对数据元素的操作
- ADT = Data + Operation
- 为何我联想到 JAVA 中 类 的一些概念?
4. 总结
@Author: nju_zzp
@Time: 2020/3/9