一、数据结构的研究内容
1.通常用计算机解决一个问题的步骤:
具体问题抽象为数学模型-->设计算法-->编程、调试、运行
2.具体问题抽象为数学模型过程为:
分析问题-->提取操作对象-->找出操作对象之间的关系-->用数学语言描述
3.描述非数值计算问题的数学模型不是数学方程,而是诸如表、树、图之类的具有逻辑关系的数据
4.数据结构研究非数值计算程序设计中计算机的操作对象以及操作对象之间的关系及操作
二、基本概念和定义
1.数据
1) 数据是能输入计算机且能被计算机处理的各种符号的集合
2) 数据是信息的载体,是对客观事物符号化的表示,能够被计算机识别、存储和加工
3) 数据包括数值型数据(整数,实数等)和非数值型数据(文字、图像、图形、声音等)
2.数据元素
1) 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理
2) 数据元素也简称元素,或称为记录、结点或顶点
3) 一个数据元素可由若干个数据项组成
3.数据项
1) 数据项构成数据元素的不可分割的最小单位
4.数据、数据元素、数据项三者之间的关系:
数据 > 数据元素 > 数据项
例: 学生信息表 > 某位学生信息记录 > 学生姓名、学号、成绩等
5.数据对象
1) 数据对象是性质相同的数据元素的集合,是数据的一个子集
例: 整数数据对象是集合N = {0,±1,±2,...}
字母字符数据对象是集合C = {'A'、'B'、'C’、...}
学生信息表也可看作一个数据对象
6.数据结构
1) 数据元素不是孤立存在的,它们之间存在着某种关系,数据元素相互之间的关系称为结构
2) 数据结构是指相互之间存在一种或多种特定关系的数据元素集合(或带结构的数据元素的集合)
3) 数据元素之间的逻辑关系,也称为逻辑结构
//与数据的存储无关,独立于计算机,是从具体问题抽象出来数学模型
4) 数据元素及其关系在计算机内存中的表示(又称为映像),称为数据的物理结构或数据的存储结构
5) 数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现
6) 逻辑结构与存储结构的关系:
* 存储结构是逻辑关系的映像与元素本身的映像
* 逻辑结构是数据结构的抽象,存储结构是数据结构的实现
* 两者综合起来建立了数据元素之间的结构关系
7.逻辑结构的种类
1) 划分方法一: 线性结构和非线性结构
* 线性结构: