概述
数据结构的概念
数据结构 :指数据之间的相互关系,包含下面三方面的
内容:
逻辑结构:表示数据运算之间的抽象关系(如邻接关系、从属关
系等),按每个元素可能具有的直接前趋数和直接后继数将逻辑
结构分为“线性结构”和“非线性结构”两大类。
存储结构:逻辑结构在计算机中的具体实现方法,分为顺序存储
方法、链接存储方法、索引存储方法、散列存储方法。
数据运算:对数据进行的操作,如插入、删除、查找、排序等 。
www.embedu.org
概述
关于数据结构
1968年美国克努特教授开创了数据结构的最初体系:
数据的逻辑结构和存储结构及其操作。
数据结构是一门综合性的专业课程,是一门介于数学、
计算机硬件、计算机软件之间的一门核心课程。是设计
和实现编译系统、操作系统、数据库系统及其他系统程
序和大型应用程序的基础。
www.embedu.org
概述
1.计算机处理的对象(数据)已不再单纯是数值
例1 图书管理中的数据,如下表所列:
作 者
编号 书 名
001 数据库
002 数据结构 张三
李四
a1
a2
……… …
an
…
…
出版社
科教
国防工业
出版日期 …… ……
1998.7 …… ……
2002.2 …… ……
……
……
……
……
……
……
……
……
…… ……
…… ……
www.embedu.org
概述
上表(List)中每一行为一个数据元素(或记录),记为ai(1≤i≤n),元
素之间呈现的是一种线性关系。此表可表示为:
list = (a1,a2,……,an)
显然表中每一数据元素包含的许多值是非数值性的(如文字、日期
等数据),对其进行的操作(或运算)也不再是加、减、乘、除等数学
运算,而是诸如:
查询(查找一本书的信息)、
插入(增加一本书的信息)、
修改(某书修订后,修改元素中的某些信息)、
删除(某书不再版了,做删除标记)、
分类(按某数据项的值建立索引)
等这样的运算。
www.embedu.org
概述
例2 大学系级行政机构
大学系级行政机构,如下图所示:
系
办公室
教研室
班级
管理员
教 师
实验员
学 生
其中系、办公室、……教师、学生可视为数据元素。元素之间呈现的是
一种层次关系,即系级下层机构为办公室、教研室和班级,而办公室、
教研室和班级等单位又由若干个管理人员、教师、实验员和学生组成。
www.embedu.org
概述
例3 田径比赛的时间安排问题
设田径比赛项目有:A(跳高)、 B(跳远)、C(标枪)、D(铅球)、E(100m跑)、
F(200m跑)。参赛选手的项目表,如下表所列:
项目3
E
马二
姓名 项目1
A
丁一
C
C
D
B
王五
张三
李四
项目2
B
D
E
F
F
F
A
问如何安排比赛时间,才能使得 :
(1)每个比赛项目都能顺利进行(无冲突);
(2) 尽可能缩短比赛时间。
www.embedu.org
概述
此问题可归纳为图的“染色“问题:设项目A∽F各表示一数据元素,以○表示。
若两个项目不能同时举行,则将其连线。由此得到如图1.2所示的结构。若用四种
颜色表示四个时间段,一种着色方案如图所示。
A
A
D
D
B
B
C
C
F
F
图1.2
E
E
n即:红色时间段(如8~10点)—A、C项目;浅蓝— B、D项目;深蓝— E
项目; 紫色—F项目。
www.embedu.org