数据结构全册配套最完整精品课件3.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构全册配套最完整精品课件3.ppt》由用户(金钥匙文档)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 配套 完整 精品 课件
- 资源描述:
-
1、数据结构全册配套最完整 精品课件3 2021-8-30 2021-8-30数据结构2 数据结构数据结构 2021-8-30数据结构3 教材教材:严蔚敏,吴伟民:严蔚敏,吴伟民:数据结构数据结构,第三版,第三版, 清华大学出版社,清华大学出版社,1992年年 课程安排:课程安排: 总总18周,授课周,授课16周,最后两周考核周,最后两周考核 预备知识:预备知识:熟练掌握熟练掌握C或或C+语言,尤其是语言,尤其是指针指针和和 类类 2021-8-30数据结构4 学习网址:学习网址: 1、视频、视频 http:/ 2、http:/ 参考书目:参考书目: 1 Williaw Ford et al.Da
2、ta Structures with C+.Prentice Hall Inc.,1996 2 数据结构数据结构刘大有等刘大有等高教出版社高教出版社 2021-8-30数据结构5 开设和学习本课程的意义所在: n生产方式的变革:材料、能源、信息;材料和 能源的迅速减少,使得人们最终将开发和应用 的重点日益转向到信息中来; n人们必须更加集约地利用地球上有限的物质资 源,同时,必须掌握更加有效的加工自然物手 段 高新技术; n信息技术(Information Technology,简称IT) 一直处于高新技术的核心地位; 2021-8-30数据结构6 计算机硬件技术 计算机软件技术 计算机通信技
3、术 数据的组成 常用的算法 软件设计和开发 软件的实现原理和技术 IT 计算机软件技术 数据的组成 常用的算法 软件的实现原理和技术 2021-8-30数据结构7 n加强“每一种数据结构都存在代价与效益”的 概念。 n学习一些最基本、最常用的数据结构。 n它们组成了一个程序员的基本数据结构工具 箱(toolkit)。 n掌握如何评估一个数据结构和算法的有效性。 n这些技术也使程序员能够判断自己或别人发 明的新数据结构的价值。 2021-8-30数据结构8 什么是数据结构 为什么要学习数据结构 如何评价一个算法 2021-8-30数据结构9 科学计算科学计算-非数值计算非数值计算 数值数值-结构
4、数据结构数据 随着社会的发展,计算机应用的范围已经深入到 社会的各个领域,计算机的应用已经不在局限于 科学计算,而是更多用于控制、管理及数据处理 等非数值计算。 相应的计算机加工处理的对象由纯粹的数值发展 到字符、表格和图像等具有一定结构的数据。 为了编写一个好程序,必须分析待处理对象的特 性以及各处理对象之间存在的关系。 2021-8-30数据结构10 n数据结构是介于数据结构是介于数学、计算机硬件和计算机软件数学、计算机硬件和计算机软件三者三者 之间的一门核心课程。之间的一门核心课程。 2021-8-30数据结构11 n1、算法和数据结构是计算机科学的两大支柱、算法和数据结构是计算机科学的
5、两大支柱 n计算机科学早期定义为:研究算法的科学计算机科学早期定义为:研究算法的科学 n 近期定义为:研究数据的科学近期定义为:研究数据的科学 n2、数据结构是程序设计的基础、数据结构是程序设计的基础 n3、是信息类学科的专业基础课程。、是信息类学科的专业基础课程。 算法数据结构程序算法数据结构程序 程序设计的程序设计的实质实质是对实际问题选择一种好的数据结构,是对实际问题选择一种好的数据结构, 加之设计一个好的算法,而好的算法在很大程度上取决加之设计一个好的算法,而好的算法在很大程度上取决 于描述实际问题的数据结构于描述实际问题的数据结构 2021-8-30数据结构12 1、掌握各类基本数据
6、结构类型和相应的存储结构、掌握各类基本数据结构类型和相应的存储结构 2、提高阅读和编写算法的能力、提高阅读和编写算法的能力 3、能针对给定问题,选择相适应的数据结构,并能、能针对给定问题,选择相适应的数据结构,并能 设计和分析算法。设计和分析算法。 2021-8-30数据结构13 n众所周知,计算机的程序是对信息进众所周知,计算机的程序是对信息进 行加工处理。在大多数情况下,这些行加工处理。在大多数情况下,这些 信息并不是没有组织,信息(数据)信息并不是没有组织,信息(数据) 之间往往具有重要的结构关系,这就之间往往具有重要的结构关系,这就 是数据结构的内容。那么,什么是数是数据结构的内容。那
7、么,什么是数 据结构呢?先看以下几个例子据结构呢?先看以下几个例子。 2021-8-30数据结构14 例例1、电话号码查询系统、电话号码查询系统 n 设有一个电话号码薄,它记录了设有一个电话号码薄,它记录了N个人的个人的 名字和其相应的电话号码,假定按如下形式安名字和其相应的电话号码,假定按如下形式安 排:排: n (a1,b1)(a2,b2)(an,bn) n 其中其中ai,bi(i=1,2n) 分别表示某人的名分别表示某人的名 字和对应的电话号码。要求设计一个算法,当字和对应的电话号码。要求设计一个算法,当 给定任何一个人的名字时,该算法能够打印出给定任何一个人的名字时,该算法能够打印出
8、此人的电话号码,如果该电话簿中根本就没有此人的电话号码,如果该电话簿中根本就没有 这个人,则该算法也能够报告没有这个人的标这个人,则该算法也能够报告没有这个人的标 志。志。 2021-8-30数据结构15 姓名姓名 电话号码电话号码 张三张三 张林张林 . . . 张杰张杰 李四李四 . . . 李中李中 姓地址 张 李 . . . . . . 例一:电话号码查询问题例一:电话号码查询问题 电话号码查询问题的索引存储电话号码查询问题的索引存储 2021-8-30数据结构16 n算法的设计,依赖于计算机如何存储人的名字和对应算法的设计,依赖于计算机如何存储人的名字和对应 的电话号码,或者说依赖于
9、名字和其电话号码的结构。的电话号码,或者说依赖于名字和其电话号码的结构。 n数据的结构,直接影响算法的选择和效率。数据的结构,直接影响算法的选择和效率。 n上述的问题是一种数据结构问题。可将名字和对应的上述的问题是一种数据结构问题。可将名字和对应的 电话号码设计成:二维数组、表、向量。电话号码设计成:二维数组、表、向量。 n假定名字和其电话号码逻辑上已安排成假定名字和其电话号码逻辑上已安排成N元向量的形元向量的形 式,它的每个元素是一个数对式,它的每个元素是一个数对(ai,bi), 1in n数据结构还要提供每种结构类型所定义的各种运算的数据结构还要提供每种结构类型所定义的各种运算的 算法算法
10、 2021-8-30数据结构17 数据结构研究的内容(contd) n图书目录文件示例图书目录文件示例 001高等数学樊映川S01 002理论力学罗远祥L01 003高等数学华罗庚S01 004线性代数栾汝书S02 高等数学001,003, 理论力学002, 线性代数004, 樊映川001, 华罗庚 003, 栾汝书 004, L002, S001,00 3, 2021-8-30数据结构18 数据结构的定义数据结构的定义 通过以上例子可以直接认为:通过以上例子可以直接认为: 数据结构是一门研究非数值计算的程序设计问题中计算机的数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象操作对象
11、以及它以及它 们之间们之间关系和操作关系和操作等的学科。等的学科。 研究内容:研究内容: 1、数据结构是研究数据的逻辑结构和物理结构以及它们之间相互关系、数据结构是研究数据的逻辑结构和物理结构以及它们之间相互关系 2、并对每种结构定义相适应的各种运算、并对每种结构定义相适应的各种运算 3、设计出相应的算法、设计出相应的算法 4、分析算法的效率、分析算法的效率 2021-8-30数据结构19 一、术语一、术语 是信息的载体,能被计算机识别、存储、加工处理。是信息的载体,能被计算机识别、存储、加工处理。 数据的基本单位数据的基本单位, 即数据集合中的一个个体。也称即数据集合中的一个个体。也称元素元
12、素、 结点结点、顶点顶点、记录记录 是具有独立含义的是具有独立含义的最小最小标识单位标识单位 唯一唯一能识别一个数据元素的能识别一个数据元素的数据项数据项。 数据元素由数据元素由组成组成 2021-8-30数据结构20 具有具有性质相同性质相同的数据元素的集合,是数据的子集。的数据元素的集合,是数据的子集。 例如:例如: 数据集合数据集合D=0,1,。,。A,B,。,。Z 正整数正整数N=0,1, 字符字符C=A,B,Z 2021-8-30数据结构21 按某种按某种组织起来的一批数据组织起来的一批数据, ,应用计应用计 算机语言按一定的算机语言按一定的将其将其在计算机中在计算机中, , 在这些
13、数据上定义了若干基本在这些数据上定义了若干基本, ,并且讨论这并且讨论这 些基本些基本基于存储方式上基于存储方式上。 这种逻辑关系称为结构。常见结构:这种逻辑关系称为结构。常见结构: 1 1、集合、集合 2 2、线性结构(、线性结构(1 1对对1 1) 3 3、树形结构;(、树形结构;(1 1对多)对多) 4 4、图状结构或网状结构。(多对多)、图状结构或网状结构。(多对多) 2021-8-30数据结构22 n数据结构的形式定义为:数据结构是一个二元组:数据结构的形式定义为:数据结构是一个二元组: nData-Structure=(D,S) n其中:其中:D是数据元素的有限集,是数据元素的有限
14、集,S是是D上关系的有限集。上关系的有限集。 n例例 复数的数据结构定义如下:复数的数据结构定义如下: nComplex=(C,R) n其中:其中:C是含两个实数的集合是含两个实数的集合C1,C2,分别表示,分别表示 复数的实部和虚部。复数的实部和虚部。R=P,P是定义在集合上的一种是定义在集合上的一种 关系关系C1,C2。 n数据结构在计算机中的表示称为数据的物理结构,又数据结构在计算机中的表示称为数据的物理结构,又 称为存储结构。称为存储结构。 2021-8-30数据结构23 n数据对象可以是有限的,也可以是无限数据对象可以是有限的,也可以是无限 的。的。 n数据结构不同于数据类型,也不同
15、于数数据结构不同于数据类型,也不同于数 据对象,它不仅要描述数据类型的数据据对象,它不仅要描述数据类型的数据 对象,而且要描述数据对象各元素之间对象,而且要描述数据对象各元素之间 的相互关系。的相互关系。 2021-8-30数据结构24 是具有相同性质的计算机数据的集合及在这个是具有相同性质的计算机数据的集合及在这个 集合上的一组操作。按数据的不同特性:集合上的一组操作。按数据的不同特性: 2021-8-30数据结构25 n例例1、 在在FORTRAN语言中,语言中, n 变量的数据类型有整型、实型、和复数型变量的数据类型有整型、实型、和复数型 n例例2、在、在C语言中语言中 n 数据类型:基
16、本类型和构造类型数据类型:基本类型和构造类型 n 基本类型:整型、浮点型、字符型基本类型:整型、浮点型、字符型 n 构造类型:数组、结构、联合、指针、枚举型、自定构造类型:数组、结构、联合、指针、枚举型、自定 义义 n在某种意义上,数据结构可以看成是在某种意义上,数据结构可以看成是“一组具有相同结构的一组具有相同结构的 值值”,而结构类型可以看成由,而结构类型可以看成由一种数据结构一种数据结构和定义在其上的和定义在其上的 一组操作一组操作组成。组成。 2021-8-30数据结构26 n“抽象抽象”的意义在于数据类型的数学抽象特性的意义在于数据类型的数学抽象特性 n一个数学模型以及定义在该模型上
17、的一组操作。一个数学模型以及定义在该模型上的一组操作。 (ADT的定义仅取决于它的一组逻辑特性,而与其在的定义仅取决于它的一组逻辑特性,而与其在 计算机内部如何表示和实现无关。)计算机内部如何表示和实现无关。) n抽象数据类型实际上就是对该数据结构的定义。因为抽象数据类型实际上就是对该数据结构的定义。因为 它定义了一个数据的逻辑结构以及在此结构上的一组它定义了一个数据的逻辑结构以及在此结构上的一组 算法。算法。 n一个含抽象数据类型的软件模块应包括一个含抽象数据类型的软件模块应包括定义、表示和定义、表示和 实现实现3个部分个部分 n 用三元组描述如下:用三元组描述如下: n (,)(,)D是数
18、据对象,是数据对象,S是是D上的关系集,上的关系集, P是对是对D的操作集的操作集 2021-8-30数据结构27 格式: ADT抽象数据类型名 数据对象: 数据关系: 基本操作: ADT抽象数据类型名 基本操作定义格式: 基本操作名(参数表) 初始条件: 操作结果: 2021-8-30数据结构28 数据结构包括四方面的内容数据结构包括四方面的内容: 数据的逻辑结构数据的逻辑结构 数据的存储结构数据的存储结构 逻辑结构上的基本运算逻辑结构上的基本运算 存储结构上基本运算的实现存储结构上基本运算的实现 2021-8-30数据结构29 数据的逻辑结构数据的逻辑结构 指的是数据之间的逻辑关系,其独立
19、于具体指的是数据之间的逻辑关系,其独立于具体 的计算机,为具体问题抽象出来的数学模型的计算机,为具体问题抽象出来的数学模型。 (1)线性结构)线性结构 (2)非线性结构)非线性结构 特征:一个结点可能有多个直接前趋和直接后继特征:一个结点可能有多个直接前趋和直接后继。 特征:仅有一个开始结点和一个终端结点,并且特征:仅有一个开始结点和一个终端结点,并且 所有结点都最多只有一个直接前趋和一个直接后继所有结点都最多只有一个直接前趋和一个直接后继。 逻辑结构的分类逻辑结构的分类: 2021-8-30数据结构30 数据结构包括四方面的内容数据结构包括四方面的内容: 数据的逻辑结构数据的逻辑结构 数据的
20、存储结构数据的存储结构 逻辑结构上的基本运算逻辑结构上的基本运算 存储结构上基本运算的实现存储结构上基本运算的实现 2021-8-30数据结构31 指的是数据的逻辑结构在计算机中的存储实现,指的是数据的逻辑结构在计算机中的存储实现, 其依赖于具体的计算机语言其依赖于具体的计算机语言。 数据的逻辑结构和物理结构是密切联数据的逻辑结构和物理结构是密切联 系的两个方面,任何一个算法的系的两个方面,任何一个算法的设计设计 取决于选定的数据(逻辑)结构,而取决于选定的数据(逻辑)结构,而 算法的算法的实现实现依赖于采用的存储结构依赖于采用的存储结构 2021-8-30数据结构32 (1)顺序存储方法)顺
21、序存储方法 将逻辑上相邻的结点存储在物理位置上相邻的将逻辑上相邻的结点存储在物理位置上相邻的 存储单元里,结点间的逻辑关系由存储单元的邻接存储单元里,结点间的逻辑关系由存储单元的邻接 关系来体现。采用顺序存储方法所得到的存储表示关系来体现。采用顺序存储方法所得到的存储表示 称为称为顺序存储结构顺序存储结构。 (2)链接存储方法)链接存储方法 不要求逻辑上相邻的结点在物理位置上亦相不要求逻辑上相邻的结点在物理位置上亦相 邻,结点间的逻辑关系由存储结点时附加的指针邻,结点间的逻辑关系由存储结点时附加的指针 字段表示。采用链接存储方法所得到的存储表示字段表示。采用链接存储方法所得到的存储表示 称为称
22、为链式存储结构链式存储结构。 2021-8-30数据结构33 (4)散列存储方法)散列存储方法 根据结点的关键字直接计算出该结点的存储地根据结点的关键字直接计算出该结点的存储地 址,以实现对结点的存储和访问址,以实现对结点的存储和访问。 在存储结点信息的同时,还建立附加的索引表,索引在存储结点信息的同时,还建立附加的索引表,索引 表中的每一项称为索引项,其一般形式为:(关键字,地表中的每一项称为索引项,其一般形式为:(关键字,地 址)。址)。 (3)索引存储方法)索引存储方法 2021-8-30数据结构34 数据结构包括四方面的内容数据结构包括四方面的内容: 数据的逻辑结构数据的逻辑结构 数据
23、的存储结构数据的存储结构 逻辑结构上的基本运算逻辑结构上的基本运算 存储结构上基本运算的实现存储结构上基本运算的实现 2021-8-30数据结构35 每种逻辑结构都涉及到一些基本运算,这些每种逻辑结构都涉及到一些基本运算,这些 基本运算实际上是基本运算实际上是定义定义在抽象的数据上的一系列在抽象的数据上的一系列 操作。操作。最常用的运算有:检索、插入、删除、更最常用的运算有:检索、插入、删除、更 新、排序等。新、排序等。 2021-8-30数据结构36 数据结构包括四方面的内容数据结构包括四方面的内容: 数据的逻辑结构数据的逻辑结构 数据的存储结构数据的存储结构 逻辑结构上的基本运算逻辑结构上
24、的基本运算 存储结构上基本运算的实现存储结构上基本运算的实现 2021-8-30数据结构37 运算的实现实际上指的是采用怎样的步骤或运算的实现实际上指的是采用怎样的步骤或 方法去实现定义在逻辑结构上的运算的功能。方法去实现定义在逻辑结构上的运算的功能。 2021-8-30数据结构38 例例:计算机系学员的选课、业余爱好、担当职务情计算机系学员的选课、业余爱好、担当职务情 况统计如下:况统计如下: 学号学号选修课程选修课程爱好爱好职务职务 1B.F无无班长班长 2A.C 体育体育 3A.D.F体育体育体委体委 4D.E文艺文艺 5C.E文艺文艺 6D.F体育体育 7B.E 体育体育 8A.E体育
25、体育 9B.F文艺文艺文委文委 10B.D文艺文艺 2021-8-30数据结构39 学号学号选修课程选修课程爱好爱好职务职务 1B.F无无班长班长 2A.C 体育体育 3A.D.F体育体育体委体委 4D.E文艺文艺 5C.E文艺文艺 6D.F体育体育 7B.E 体育体育 8A.E体育体育 9B.F文艺文艺文委文委 10B.D文艺文艺 建立数据元素之间的逻辑结构建立数据元素之间的逻辑结构: 1 1。按学号顺序建立并表示。按学号顺序建立并表示 该集合的关系该集合的关系 1 2 3 4 5 6 7 8 9 10 线性结构:线性表线性结构:线性表 2。按职务和爱好建立关系。按职务和爱好建立关系 1 2
展开阅读全文