程序 = 数据结构+算法
数据结构的基本概念
1.1 数据结构研究
这些问题的共性是都无法用数学的公式或方程来描述,是一些“非数值计算”的程序设计问题。
描述非数值计算问题的数学模型不寿数学方猩,而是诸如表、树和图之类的具有逻辑关系的数据。
- 数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科
1.2基本概念和术语
1.2.1 数据
- 数据
- 是能输入计算机且能被计算机处理的各种符号的集合。
- 信息的载体
- 是对客观事物符号化的表示
- 能够被计算机识别、存储和加工
- 包括:
- 数值型的数据:整数、实数等
- 非数值型的数据:文字、图像、图形、声音等。
- 数据元素
- 是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
- 也简称为元素,或称为记录、结点和顶点。
- 一个数据元素可由若干个数据项组成(Data Item)
- 数据项
- 构成数据元素的不可分割的最小单位
数据、数据元素、数据项三者之间的关系:
数据 > 数据元素 > 数据项
例:学生表 > 个人记录 > 学号、姓名……
- 数据对象
- 是性质相同的数据元素的集合、是数据的一个子集
数据元素与数据对象
- 数据元素——组成数据的基本单位 - 与数据的关系:是集合的个体
- 数据对象——性质相同的数据元素的集合 - 与数据的关系是:是集合的子集
1.2.2 数据结构(Data Structure)
- 数据元素不是孤立存在的,它们之间存在着某种关系,数据元素相互之间的关系称为结构(Structure)
- 是指相互之间存在一种或多种特定关系的数据元素的集合
- 或者说,数据结构是带结构的数据元素的集合
数据结构包括以下三个方面的内容:
- 数据元素之间的逻辑关系,也称为逻辑结构。
- 数据元素及其关系在计算机内存中的表示(又称为映像),称为数据的物理结构或数据的存储结构。
- 数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。
数据结构的两个层次
逻辑结构
- 描述数据元素之间的逻辑关系
- 与数据的存储无关,独立于计算机
- 是从具体问题抽象出来的数学模型
物理结构(存储结构)
- 数据元素及其关系在计算机存储器中的结构(存储方式)
- 是数据结构在许算机中的表示
逻辑结构与存储结构的关系:
存储结构是逻辑关系的映象与元素本身的映象。
逻辑结构是数据结构的抽象,存储结构是数据结构的实现
两者综合起来建立了数据元素之间的结构关系。