《数据结构二版》PPT课件.ppt
《《数据结构二版》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据结构二版》PPT课件.ppt(53页珍藏版)》请在三一办公上搜索。
1、数据结构(第二版),严蔚敏 吴伟民 清华大学出版社,主讲:李树全 电子科技大学计算机学院,第一章 绪论,1.1 学习的意义及要求 1.2 的主要内容 1.3 基本术语 1.4 算法描述及分析,1.1 学习的意义及要求,一.意义1.算法和数据结构是计算机科学的两大支柱,计算机科学早期定义为:研究算法的科学 近期定义为:研究数据的科学,1.1 学习的意义及要求,2.数据结构是程序设计的基础Program=Algorithms+Data Structure数据结构是设计OS、DBMS、编译等系统程序和各种应用程序 的重要基础,1.1 学习的意义及要求,3.是计算机专业的一门综合性专业基础课,是一门理
2、论与实际紧密结合的基础课。是计算机专业本科生必修学位课程是计算机研究生入学考试必考科目是软件人员水平考试内容,1.1 学习的意义及要求,4.与计算机科学技术其他相关领域的关系,1.1 学习的意义及要求,二.要求1.掌握各类基本数据结构类型 和相应的存储结构2.提高阅读 和编写算法 的能力3.能针对给定问题,选择相适应的数据结构,并能设计和分析算法,1.2 的主要内容,99080-3 班号 3202670 计算机学院办公室电话号码610054 电子科技大学邮编,例1:,结论1.杂乱的数据不能表达和交流信息,1.2 的主要内容,例2:电话号码簿(a1,b1)(a2,b2)(an,bn)其中:ai为
3、某人姓名,bi为该人的电话号码。要求:设计一个算法,给定一个姓名时,能查出此人的电话号码。,如果姓名和电话号码的排列次序无规律,则只能逐一比较姓名进行查找 如果姓名按字典顺序组织,则查找就快捷多了,结论2.数据之间是有联系的这些联系常常影响算法的选择和效率。DS就是要研究数据之间的联系。,1.2 的主要内容,例3:大学学生管理机构学校一系八系一年级二年级三年级四年级班班张三李四,结论数据之间是有结构的例中数据之间呈分层结构(树状结构)DS就是要研究数据之间的各类结构。,1.2 的主要内容,例:图书目录管理设每个书目含:书名,作者,登录号,分类,出版年月对图书目录常有如下操作:查找:某书在书库中
4、是否存在?插入:购进新书时的登录;删除:报废或丢失的书,需从目录中去掉;,结论在某种数据结构上可定义一组运算DS就是要研究各类数据结构上的各种运算。,1.2 的主要内容,综上所述:DS主要研究内容:数据的各种逻辑结构和物理结构,以及它们之间的相应关系;对每种结构定义相适应的各种运算;设计出相应的算法;分析算法的效率。,常见的数据结构有:数组、栈、队列、表、串、树、图和文件等。,数据结构与问题求解,1.在计算机中建立一个与实际问题有比较密切对应关系的模型;2.计算机内部的数据 表示了需要被处理的实际对象,包括其内在的性质和关系;3.处理这些数据的程序 则模拟对象领域中的实际过程;4.将计算机程序
5、的运行结果 在实际领域中给予解释,便得到实际问题的解。,例1、当你到图书馆借阅书籍时,你要通过计算机检索书目信息。在书目自动检索系统中,有一张按登录号顺序排列的书目文件和三张分别按书名、作者名和分类号顺序排列的索引表。计算机检索就是按某个特定要求(如给定书名)对书目文件查询。,(书目文件),(书名索引),(作者索引),(分类索引),例2、酒店管理系统中的客房分配问题。酒店要求每间客房出租率相等,以保证维持一个平均磨损率。对这一问题可用数据结构中的队列来解决;将酒店所有空闲客房排成一个队列,有客人入住则从队头分配客房,客人结帐离店则将空出的客房插入队尾。这样就能保证客房出租率相等。,队头,队尾,
6、出租队头客房,客人离店,空出客房插入队尾,注:例1、例2都属于线性数据结构,例3、计算机和人对弈问题。计算机和人对弈是因为事先已将对奕的策略输入计算机中。对弈的过程是在一定规则下随机进行,计算机操作对象是对弈过程中可能出现的棋盘状态-称为格局。下面看一下井字棋对弈。,目前我们所接触的象棋软件、围棋软件的实现原理和井字棋是一样的。此类数据结构为树型结构,例4、一个城市的居民点铺设煤气管道,居民点之间的铺设费用可以估算,要求工程完工后,每个居民点都能通气,并且总的费用最少。,我们用图来表示这类问题。其中图的顶点表示居民点,边上的权值表示铺设费用。,8,1,4,2,9,6,7,5,3,17.5,64
7、.5,82.5,45.6,34.5,44.2,71.5,64.5,28.5,55.2,30.4,75.0,(A、费用核算),1,4,2,9,3,5,6,7,8,(B、铺设方案),问题求解例子-五叉路口交通管理系统设计,对车辆可能行驶方向进行分组,要求任一组中各个方向行驶的车辆可以同时安全行驶。分组越少,可同时行驶的车辆越多,管理系统的质量就越高。有13个可能通行的方向:AB,AC,AD,BA,BC,BD,DA,DB,DC,EA,EB,EC,ED。,交叉路口图式模型,将一种通行方向用一个结点表示(椭圆);在不能同时行驶的结点间画一条连线;,问题求解:将图中结点进行分组,使有线连接的结点不在同一个
8、组里。要解决的问题已借助图的模型 清楚而严格地表达出来。余下的问题是能否设计一个总能得到最佳的分组方案的程序。,求解方法(求着色问题的近似解),1.选出未着色的结点,并用该新颜色上色;2.寻找仍未着色的结点,如果某结点与新颜色结点没有边相连,则将该结点用该颜色上色。,结果:1.AB AC AD BA DC ED2.BC BD EA 3.DA DB4.EB EC,问题:设有n个正常人和n个精神病患者要过一条河,现有一条能容纳c(c2n)个人的小船,为防止患者伤害正常人,要求无论在河的哪一边,正常人的人数不得少于患者人数(除非正常人数为0)。又设每个人都会划船。试设计一个过河的最佳方案,即小船来回
9、次数最少的算法。,解:1、模型构造:用一个三元组(x,y,t)表示渡河过程中的某个状态。其中,x表示起始岸上正常人的人数,y表示起始岸上患者人数,t表示小船的位置,即:,2、再构造一个图,图中的每一个顶点表示一个合法状态。合法状态所对应的三元组(x,y,t)必须满足:x=0 或 x=n 或 x=y.于是,渡河方案的求解就转换成一个图的搜索问题找出从起始顶点(n,n,1)到目的顶点(0,0,0)的一条包含边数最少的通路。若该通路不存在,表明该问题无解。,3、例如,当n=2,c=2时,各合法状态及其间的变换如图:,1.基本术语,数据(Data):所有能被计算机处理的符号的集合。数据元素(Data
10、Element):是数据这个集合中的一个个体。设给定数据集合为:D=d1,d2,dn则di属于D,并称di为数据元素。数据项(Data Item):数据元素常常还可分为若干个数据项,数据项是数据具有意义的最小单位。,1.基本术语,数据对象(Data Object):具有相同特性的数据元素的集合。例如:数据集合D=0,1,A,B,Z则:数据对象正整数N 0,1,数据对象字母C A,B,Z 数据元素是数据的一个个体,数据对象是数据的一个子集。,集合线性结构树型结构图型结构,基本概念和术语,1.基本术语,数据结构(Data Structure):是带有结构的数据元素的集合。所谓结构就是数据元素之间的
11、关系,即描述数据元素之间的运算及运算规则。用集合的形式描述,数据结构是一个二元组:DS=(D,R)其中:D是数据元素的集合,R是D上关系的集合。简言之,数据元素和其相互关系称为数据结构,基本概念和术语,数据结构的形式定义:DATA_STRUCTURE=(D,S)其中:D是数据元素的有限集,S是D上关系的有限集,例6、复数的数据结构为:COMPLEX=(C,R)其中:C是含两个实数的集合C1,C2;R=P,P是定义在集合C上的一种关系,其中有序偶表示C1是复数的实部,C2是复数的虚部。,基本概念和术语,例、假设学校的每个课题小组由一位教师,一至三名研究生及一至六名本科生组成,小组成员之间的关系是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构二版 数据结构 PPT 课件
链接地址:https://www.31ppt.com/p-5519657.html