1.2.1 数据、数据元素、数据项和数据对象
- 数据(Data)
- 数据元素(data Element)
- 数据项 (Data Item)
- 数据对象(Data Object)
数据:
- 是能输入计算机且能被计算机处理的各种符号的集合。
信息的载体、是对客观事物符号化的表示、能够被计算机识别、存储和加工 - 包括:
- 数值型的数据:整数、实数等。
- 非数值型的数据: 文字、图像、图形、声音等。
数据元素
- 是数据的基本单位,在计算机程序汇总通常作为一个整体进行考虑和处理
- 也简称为元素,或称为记录、结点或顶点。
- 一个数据元素可由若干个数据项组成(Data Item)
数据项
- 构成数据元素的不可分割的最小单位
数据、数据元素、数据项三者之间的关系
数据>数据元素>数据项例如: 学生表>个人记录>学号、姓名......
数据对象
- 是性质相同的数据元素的集合,是数据的一个子集。
- 例如:整数数据对象、字母字符数据对象
数据元素与数据对象的关系
数据元素——组成数据的基本单位
与数据的关系:是集合的个体
数据对象——性质相同的数据元素的集合
与数据的关系是:集合的子集
数据>数据对象>数据元素>数据项
数据结构
- 数据元素不是孤立存在的,它们之间存在某种关系,数据元素相互之间的关系称为结构(Strucutre)
- 是指相互之间存在一种或多种特定关系的数据元素集合。
- 或者说,数据结构是带结构的数据元素的集合。
数据结构包括以下三个方面的内容:
- 数据元素之间的逻辑关系,也称为逻辑结构
- 数据元素及其关系在计算机内存中的表示(又称为映像),称为数据的物理结构或数据的存储结构。
- 数据的与运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。
数据结构的两个层次
-
逻辑结构
- 描述数据元素之间的逻辑关系
- 与数据的存储无关,独立于计算机
- 是从具体问题抽象出来的数学模型
-
物理结构
- 数据元素及其关系在计算机存储器中的结构(存储方式)
- 是从具体问题抽象出来的数学模型
-
逻辑结构与存储结构的关系:
- 存储结构是逻辑关系的映像与元素本身的映像
- 逻辑结构的数据结构的抽象,存储结构是数据结构的实现
- 两者综合起来建立了数据元素之间的结构关系
逻辑结构的种类
划分方法一:
-
线性结构(1:1关系)
有且仅有一个开始和一个终端结点,并且所有的结点都最多只有一个直接前趋和一个直接后继节点。
例如:线性表、栈、队列、串等
-
非线性结构(1:n关系或者是n:m关系)
一个结点可能由多个直接前趋和直接后继节点
例如:树、图
划分方式二——四类基本逻辑结构
-
集合结构:结构中的数据元素之间除了同属于一个集合的关系外,污染和其他关系。
-
线性结构:结构中的数据元素之间存在着一对一的线性关系
-
树形结构:结构中的数据元素之间存在着一对多的层次关系。
-
图状结构或网状结构:结构中的数据元素之间存在着多对多的任意关系。
四类基本逻辑结构关系如下图所示:
存储结构的存储结构
顺序存储结构:
- 用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示。
- C语言中用数组来实现顺序存储结构。
链式存储结构:
- 用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示
- C语言中用指针来实现链式存储结构
索引存储结构
- 在存储结点信息同时,还建立附加的索引表。例如:手机通讯录
散列存储结构
- 根据结点关键字直接计算出该结点的存储地址