1. 《数据结构》这门课的认识
现在,计算机主要用于非数值计算,而不是数值计算,包括字符、图像、表格等等,
这些数据内容之间存在着某种联系。
“数据结构”要解决的问题就是,如何合理地组织数据、高效地处理数据?
计算机用于数值计算的方法步骤:
- 从具体问题抽象出数学模型
- 设计一个解此数学模型的算法
- 编写程序,进行测试、调试,直到解决问题
在整个过程中,寻求数学模型的实质是分析问题,
从中提取操作的对象,并找出这些操作对象之间的关系,
然后用数学语言加以描述,即建立相应的数学方程。
而非数值计算问题无法用数学方程建立数学模型,
例如,对象之间一对一的线性关系、一对多的层次关系、多对多的网状关系,
非数值计算问题的数学模型不再是数学方程,而是诸如线性表、树和图的数据结构。
数据结构是一门研究非数值计算程序设计中操作对象,以及这些对象之间关系和操作的学科。
程序设计的实质就是对所处理的问题选择一个好的数据结构,
并在此结构基础上施加一种好的算法。
程序 = 数据结构 + 算法
-
“数据”:各种数据元素的集合
-
“结构”:数据元素之间存在的关系
-
“算法”:对数据元素的操作
数据结构是介于数学、计算机硬件和软件之间的一门核心课程。
2. 对"数据"的认识
2.1 数据 Data
数据是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。
数据不仅仅包括整形、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。
数据,也就是符号,必须具备两个前提:
- 可以输入到计算机中
- 能被计算机程序处理
对于整型、实型等数值类型,可以进行数值计算。
对于字符数据类型,就需要非数值的处理。
而声音、图像、视频等其实是可以通过编码的手段变成字符数据来处理的。
2.2 数据元素 Data Element
数据元素是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。
数据元素用于完整地描述一个对象,也称为记录。
2.3 数据项 Data Item
数据项是组成数据元素的、有独立含义的、不可分割的最小单位。
2.4 数据对象 Data Object
数据对象是性质相同的数据元素的集合,是数据的一个子集。
什么叫性质相同?指数据元素具有相同数量和类型的数据项。
既然数据对象是数据的子集,在实际应用中,处理的数据元素通常具有相同性质,
在不产生混淆的情况下,我们将数据对象简称为数据。
2.5 直观案例
- 人员表
姓名 | 性别 | 身高 | 课程代号 |
---|---|---|---|
小明 | 男 | 180 | A |
小红 | 女 | 180 | A |
小绿 | 男 | 180 | B |
- 课程表
课程代号 | 课程名 |
---|---|
A | 语文 |
B | 数学 |
这两张表就是数据
而单独的一张表就称为数据对象,即人员表是一个数据对象,课程表也是一个数据对象
而每张表中的每一行就称为数据元素
而姓名,性别,身高,课程代号,课程名就称为数据项