第8章--数据结构概述-计算机软件技术基础教程-教学课件.ppt





《第8章--数据结构概述-计算机软件技术基础教程-教学课件.ppt》由会员分享,可在线阅读,更多相关《第8章--数据结构概述-计算机软件技术基础教程-教学课件.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8 8章章 数据结构概述数据结构概述8.1 数据结构的引入数据结构的引入8.2 数据结构的基本概念数据结构的基本概念8.3 关于算法的描述及算法分析关于算法的描述及算法分析第第8章章 数据结构概述数据结构概述返回主目录返回主目录第第8 8章章 数据结构概述数据结构概述第8章数据结构概述8.1 数据结构的引入数据结构的引入 例 8.1计算机管理图书目录问题。要利用计算机帮助我们查询书目,首先必须将书目存入计算机,那么这些书目如何存放呢?我们既希望查询时间短,又要求节省空间。一个简单的办法就是建立一张表,每本书的信息只用一张卡片表示,在表中占一行,如表8.1所示。此时计算机操作的对象(数据元素
2、)便是卡片,卡片之间的关系是顺序排列的。计算机对数据的操作是按某个特定要求(如给定书名)进行查询,找到表中满足要求的一行信息。由此,从计算机管理图书目录问题抽象出来的模型即是包含图书目录的表和对表进行查找运算。第第8 8章章 数据结构概述数据结构概述第第8 8章章 数据结构概述数据结构概述 例 8.2 计算机和人对弈问题。计算机之所以能和人对弈是因为有人将对弈的策略已事先存入计算机。由于对弈过程是在一定规则下随机进行的,因此,为使计算机能灵活对弈,就必须将对弈过程中所有可能发生的情况以及相应的策略考虑周全,而且在决定对策时,不仅要看当时的棋盘状态,还要考虑将来的发展趋势,直至最后取胜的可能性。
3、由此,计算机操作的对象(数据元素)是对弈过程中每一步的棋盘状态(格局)。数据元素之间的关系是由比赛规则决定的。通常情况下,这个关系不是线性的,因为从一个棋盘格局可以派生出几个格局,如图8.1(a)所示是井字棋的一个格局。下一步由持x子的甲方走棋,则有五种可能出现的格局,如图8.1(b)所示。这个图好像由树的主叉派生出五个分叉,我们称它为树,它可以用来表示某一类问题中数据元素间的关系。第第8 8章章 数据结构概述数据结构概述第第8 8章章 数据结构概述数据结构概述 例 8.3 多叉路口交通灯管理问题。通常在十字交叉路口只要设置红绿两色的交通灯便可保持正常的交通秩序,但是对于多叉路口,需设几种颜色
4、的交通灯,才能既使车辆相互不碰撞,又能达到最大流通量呢?图8.2(a)是一个实际的多叉路口,我们如何设置交通灯,即最少应设置几种颜色的交通灯,才能保证正常的交通秩序呢?这个问题可以转换成一个地图染色问题。假设五叉路口中的一条可通行的通路用圆圈染色,要求同一连线上的两个圆圈不能同色且颜色的种类最少。从图8.2(b)中可得出至少需四种颜色。从上面三个例子可看出:计算机已不仅仅用于科学计算,而且更多地用于数据处理和实时控制。与此相对应,计算机加工处理的对象也从简单的数值发展到字符、图像、声音等各种复杂的具有一定结构的数据。第第8 8章章 数据结构概述数据结构概述图8.2五叉路口交通灯管理问题第第8
5、8章章 数据结构概述数据结构概述数据结构”就是一门研究数值或非数值性程序设计中计算机操作的对象以及它们之间的关系和运算的一门学科。它是设计和实现编译程序、操作系统、数据库系统及其他程序系统的重要基础。第第8 8章章 数据结构概述数据结构概述第第8 8章章 数据结构概述数据结构概述例如,一个利用数值分析的方法解代数方程的程序处理的对象只是整数和实数,而一个编译程序或文字处理程序的对象是字符串。因此,对计算机而言,数据的含义极为广泛,如图形、声音等都属于数据的范畴。数据元素(DataElement)是数据的基本单位,即数据这个集合中的一个个体(客体)。有时一个数据元素可由若干个数据项(DataIt
6、em)组成,数据项是数据的最小单位。数据对象(DataObject)具有相同特性的数据元素的集合,是数据的一个子集。例如,整数的数据对象是集合N 0,1,2,3,,字 母 字 符 的 数 据 对 象 是 集 合 CA,B,Z。第第8 8章章 数据结构概述数据结构概述数据结构(DataStructure)是指数据之间的相互关系,即数据的组织形式。我们可以从集合的观点加以形式化描述,即是一个二元组DataStructure=(D,R)其中,D是数据元素的集合,R是D上关系的集合。数据结构所要研究的主要内容可以简要地归纳为以下三个方面:(1)研究数据元素之间固有的客观联系,即数据的逻辑结构(Logi
7、calStructure)。(2)研究数据在计算机内部的存储方法,即为数据的存储结构(StorageStructure),又称物理结构。第第8 8章章 数据结构概述数据结构概述第第8 8章章 数据结构概述数据结构概述只有确定了存储结构之后,我们才考虑如何具体实现这些运算。本书中讨论的数据运算,均以C语言描述的算法来实现。为了增加对数据结构的感性认识,下面我们来看表8.2所示的学生成绩表的例子。我们将表8.2称为一个数据结构,表中的每一行是一个结点(或记录),它由学号、姓名、性别、课名及成绩等数据项组成。该表中数据元素之间的逻辑关系是:对表中任一个结点,与它相邻且在它前面的结点,称为直接前趋(I
8、mmediateredecessor),最多只有一个;与表中任意结点相邻且在其后的结点,称为直接后继(ImmediateSuccessor),也最多只有一个。表中只有第一个结点没有直接前趋,称之为开始结点;也只有最后一个结点没有直接后继,称之为终端结点。上述结点间的关系构成了这张学生成绩表的逻辑结构。第第8 8章章 数据结构概述数据结构概述第第8 8章章 数据结构概述数据结构概述对于满足这种逻辑关系的表在计算机中如何进行存储表示则是存储结构研究的内容,根据不同的方式可采用顺序存储与非顺序存储。另外,在这张表中可能要经常查阅某一学生的成绩,如有新生加入时要增加数据元素,或有学生退学时要删除相应元
9、素。因此,进行查找、插入和删除就是数据的运算问题。把上表中数据的逻辑关系、存储结构和运算这三个问题搞清楚,也就弄清了学生成绩表这个数据结构,从而可以有针对性地进行问题的求解。综上所述,我们可以将数据结构定义为:按某种逻辑关系组织起来的一批数据,应用计算机语言,可按一定的存储表示方式把它们存储在计算机的存储器中,并在该数据上定义了一个运算的集合。第第8 8章章 数据结构概述数据结构概述为了不产生混淆,通常我们将数据的逻辑结构简称为数据结构。数据的逻辑结构有以下两大类:1)线性结构线性结构的逻辑特征是有且仅有一个开始结点和一个终端结点,且所有结点都最多只有一个直接前趋和一个直接后继。线性表就是一种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 概述 计算机软件 技术 基础教程 教学 课件

限制150内