1.数据
- 定义:数据是能输入计算机且能被计算机处理的各种符号的集合
- 包括
- 数值型数据
- 非数值型数据
2.数据项和数据元素
- 数据元素
定义:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理,也简称为元素、记录、结点或顶点。 - 数据项
一个数据元素可由诺干个数据项组成。
构成数据元素的不可分割的最小单位
3.以上三者的关系
数据>数据元素>数据项
4.数据对象
- 定义:是性质相同的数据元素的集合,是数据的一个子集
5.数据元素和数据对象的关系
- 数据元素——组成数据的基本单位
与数据的关系:是集合的个体 - 数据对象——性质相同的数据元素的集合
与数据的关系:集合的子集
6.数据结构
- 数据元素之间的逻辑关系,也称为逻辑结构
- 数据元素及其关系在计算机内存中的表示(又称为映像),称为数据的物理结构或数据的存储结构
数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应存储结构上的实现
7.数据结构的两个层次
- 逻辑结构
- 描述数据元素之间的逻辑关系
- 与数据的存储无关,独立于计算机
- 是从具体问题抽象出来的数学模型
- 物理结构(存储结构)
- 数据元素及其关系在计算机存储器中的结构(存储方式)
- 是数据结构在计算机中的表示
- 逻辑结构和存储结构的关系
- 存储结构是逻辑关系的映像与元素本身的映像
- 逻辑结构是数据结构的抽象,存储结构是数据结构的实现
7.逻辑结构的种类
- 划分方法一
- 线性结构
有且·仅有一个开始和一个终端结点,并且所有结点最多只有一个直接前驱和一个直接后继
例如:线性表,栈,队列,串 - 非线性结构
一个结点可能有多个直接前驱和直接后继
例如:树,图
- 线性结构
- 划分方法二
- 集合结构:结构中的数据元素除了同属于一个集合的关系外,无任何其他关系
- 线性:存在着一对一的线性关系
- 树形:存在着一对多的层次关系
- 图状结构或网状结构:存在着多对多的任意关系
8.存储结构的种类
- 顺序存储结构
用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示
C语言中用数组来实现顺序存储结构 - 链式存储结构
- 用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示
- 存储了元素还存储下一个元素的地址
- C语言中用指针来实现链式存储结构
- 索引存储结构
- 在存储结点信息的同时,还建立附加的索引表
- 索引表的每一项称为一个索引项
- 索引项的一般形式是:(关键字,地址)
- 关键字是能唯一表示一个结点的那些数据项
- 若每个结点在索引表中都有一个索引项,泽改索引表称之为稠密索引。若一组结点在索引表中指对应一个索引项,则改索引表称之为稀疏索引
- 散列存储结构
根据结点的关键字直接计算出该结点的存储地址