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

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

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 数据结构概述 计算机软件技术基础教程 教学课件

第8章 数据结构概述 8.2 数据结构的基本概念 8.3 关于算法的描述及算法分析 8.1 数据结构的引入 8.2 数据结构的基本概念 8.3 关于算法的描述及算法分析 第8章 数据结构概述 返回主目录 8.1 数据结构的引入 [例 8.1] 计算机管理图书目录问题。 要利用计算机帮助我们查询书目,首先必须将书目存入计算机,那么这些书目如何存放呢?我们既希望查询时间短,又要求节省空间。一个简单的办法就是建立一张表,每本书的信息只用一张卡片表示,在表中占一行,如表8.1所示。此时计算机操作的对象(数据元素)便是卡片,卡片之间的关系是顺序排列的。计算机对数据的操作是按某个特定要求(如给定书名)进行查询,找到表中满足要求的一行信息。由此,从计算机管理图书目录问题抽象出来的模型即是包含图书目录的表和对表进行查找运算。 [例 8.2] 计算机和人对弈问题。 计算机之所以能和人对弈是因为有人将对弈的策略已事先存入计算机。由于对弈过程是在一定规则下随机进行的,因此,为使计算机能灵活对弈,就必须将对弈过程中所有可能发生的情况以及相应的策略考虑周全,而且在决定对策时,不仅要看当时的棋盘状态,还要考虑将来的发展趋势,直至最后取胜的可能性。由此,计算机操作的对象(数据元素)是对弈过程中每一步的棋盘状态(格局)。数据元素之间的关系是由比赛规则决定的。通常情况下,这个关系不是线性的,因为从一个棋盘格局可以派生出几个格局,如图8.1(a)所示是井字棋的一个格局。下一步由持x子的甲方走棋,则有五种可能出现的格局,如图8.1(b)所示。这个图好像由树的主叉派生出五个分叉,我们称它为树,它可以用来表示某一类问题中数据元素间的关系。 图8.1 井字棋对弈树 [例 8.3] 多叉路口交通灯管理问题。 通常在十字交叉路口只要设置红绿两色的交通灯便可保持正常的交通秩序,但是对于多叉路口,需设几种颜色的交通灯,才能既使车辆相互不碰撞,又能达到最大流通量呢?图8.2(a)是一个实际的多叉路口,我们如何设置交通灯,即最少应设置几种颜色的交通灯,才能保证正常的交通秩序呢? 这个问题可以转换成一个地图染色问题。假设五叉路口中的一条可通行的通路用圆圈染色,要求同一连线上的两个圆圈不能同色且颜色的种类最少。从图8.2(b)中可得出至少需四种颜色。 从上面三个例子可看出:计算机已不仅仅用于科学计算,而且更多地用于数据处理和实时控制。与此相对应,计算机加工处理的对象也从简单的数值发展到字符、图像、声音等各种复杂的具有一定结构的数据。 图8.2 五叉路口交通灯管理问题 数据结构”就是一门研究数值或非数值性程序设计中计算机操作的对象以及它们之间的关系和运算的一门学科。它是设计和实现编译程序、操作系统、数据库系统及其他程序系统的重要基础。 ? 计算机处理的对象是数据,那么什么是数据呢?数据是客观事物在计算机中的表示,是信息的载体,具有可识别性、可加工处理性和可存储性等特征,是计算机程序加工处理的对象。可识别性是指计算机能够识别数据,为此必须对客观事物进行编码;可存储性是指数据能够存储在计算机的存储设备上;可加工处理性是指计算机能够以程序设计人员设计的算法,对数据进行加工处理,以得到预期的结果。 数据(Data)是描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序处理的符号的集合。它是计算机程序加工的“原料”。 例如,一个利用数值分析的方法解代数方程的程序处理的对象只是整数和实数,而一个编译程序或文字处理程序的对象是字符串。因此,对计算机而言,数据的含义极为广泛,如图形、声音等都属于数据的范畴。 数据元素(Data Element)是数据的基本单位,即数据这个集合中的一个个体(客体)。有时一个数据元素可由若干个数据项(Data Item)组成,数据项是数据的最小单位。 数据对象(Data Object)具有相同特性的数据元素的集合,是数据的一个子集。例如,整数的数据对象是集合N={0,±1,±2,±3,…},字母字符的数据对象是集合C={A,B,…,Z}。 数据结构(Data Structure)是指数据之间的相互关系,即数据的组织形式。我们可以从集合的观点加以形式化描述,即是一个二元组 Data?Structure =(D, R) 其中,D是数据元素的集合,R是D上关系的集合。 数据结构所要研究的主要内容可以简要地归纳为以下三个方面: (1) 研究数据元素之间

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档