本课主题:数据结构的基本概念和术语
教学目的:了解数据结构的基本概念,理解常用术语
教学重点:基本概念:数据与数据元素
教学难点:数据元素间的四种结构关系。
授课内容:
一、数据、数据元素、数据对象、数据结构的定义
1、数据的定义
定义一:数据是客观事物的符号表示。
学号 |
姓名 |
语文 |
数学 |
C语言 |
6201001 |
张三 |
85 |
54 |
92 |
6201002 |
李四 |
92 |
84 |
64 |
6201003 |
王五 |
87 |
74 |
73 |
6201004 |
|
|
|
|
... |
|
|
|
|
例:张三的C语言考试成绩为92分,92就是该同学的成绩数据。
定义二:能输入到计算机中并被计算机程序处理的符号的总称。
例:图像、声音等。
总结:现实世界信息的分析、复制、传播首先要符号化,这样才便于处理,尤其是便于计算机的处理。家长、社会要了解一个学生的学习成绩和能力,要看他的学习档案,而学习档案即是说明该学生学习情况的数据。
2、数据元素、数据项
数据元素是数据的基本单位,它也可以再由不可分割的数据项组成。如图示:
3、数据对象
是性质相同的数据元素的集合。如上例:一个班级的成绩表可以看作一个数据对象。
4、数据结构
定义一、数据元素集合(也可称数据对象)中各元素的关系。
定义二、相互之间存在特定关系的数据元素集合。
数据结构的种类:
|
特征 |
示例 |
集合 |
元素间为松散的关系 |
|
线性结构 |
元素间为严格的一对一关系 |
如上面的成绩表中各元素 |
树形结构 |
元素间为严格的一对多关系 |
|
图状结构(或网状结构) |
元素间为多对多关系 |
|
数据结构的形式定义:
数据结构名称=(D,S)
其中D为数据元素的有限集,S是D上关系的有限集
逻辑结构 |
|
“数据结构”定义中的“关系”指数据间的逻辑关系,故也称数据结构为逻辑结构。 |
存储结构 |
|
数据结构在计算机中的表示称为物理结构。又称存储结构。 |
顺序存储结构 |
链式存储结构 |
存储结构详解:
计算机中存储信息的最小单位:位,8位为一字节,两个字节为一字,字节、字或更多的二进制位可称为位串。在逻辑描述中,把位串称为元素或结点。
当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串称为数据域(Data Field)。
例:上述成绩表数据用C语言的结构体数组classonestu[50]来存储:
struct stu {
int stuno;/*数据项,也称stu位串中的一个子位串,或叫做数据域*/
char name[20];
int maths;
int language;
int c_language;
} classonestu[50];
二、数据类型
1、定义:数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
例:C语言中的整型,其内涵为一定范围的自然数集合,及定义在该集合上的加减乘除及取模、比较大小操作。而实型则无取模操作。当然整型也不需四舍五入。
2、数据类型的种类:
|
特征 |
例 |
原子类型 |
值在逻辑上不可分解 |
int float |
结构类型 |
值由若干成分按某种结构组成 |
struct stu |
数据类型封装了数据存储与操作的具体细节。
三、总结
数据->数据元素
具有特定关系的数据元素集合->数据结构
数据结构的逻辑表示与物理存储->逻辑结构与存储结构
人们不仅关心数据的逻辑结构、存储结构,还关心数据的处理方法(算法)与处理结果->数据类型
数据类型->分类