数据结构课件:第1章-绪论 (1).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构课件:第1章-绪论 (1).ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构课件:第1章_绪论 1 数据结构 课件 绪论
- 资源描述:
-
1、数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 章章内内 容容 学时学时 章章 内内 容容 学时学时 1绪绪 论论27图图3+12线性表线性表4+28动态存储管理动态存储管理略略3栈和队列栈和队列49查找查找4+24串串略略10内部排序内部排序4+25数组和广义表数组和广义表 3+111外部排序外部排序略略6树和二叉树树和二叉树 4+2数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 一、教学内容:一、教学内容:1 1、数据结构基本概念、数据结构基本概念数据、数据元素、数据对象、数据结构和数据类型等概念数据、数据元素、
2、数据对象、数据结构和数据类型等概念2 2、算法及算法分析、算法及算法分析性能分析与度量:算法的性能标准;空间复杂度度量;时间复杂度度量性能分析与度量:算法的性能标准;空间复杂度度量;时间复杂度度量二、教学要求:二、教学要求:1 1、了解数据、数据对象、数据元素、数据类型、数据结构、数据的逻辑结构、了解数据、数据对象、数据元素、数据类型、数据结构、数据的逻辑结构与物理结构概念及逻辑结构与物理结构间的关系与物理结构概念及逻辑结构与物理结构间的关系2 2、了解算法的定义、算法的特性、算法的时间代价、算法的空间代价、了解算法的定义、算法的特性、算法的时间代价、算法的空间代价3 3、掌握计算语句频度和估
3、算算法时间复杂度的方法、掌握计算语句频度和估算算法时间复杂度的方法数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 什么是数据结构什么是数据结构基本概念和术语基本概念和术语抽象数据类型的概念抽象数据类型的概念 算法和算法分析算法和算法分析数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 1.1 什么是什么是数据结构数据结构一、为什么要学习数据结构?一、为什么要学习数据结构?计算机的主要用途:计算机的主要用途: 早期:早期:主要用于数值计算。 后来:后来:处理逐渐扩大到非数值计算领域(能处理多种复杂的具有一定结构关系的数据)。 数值计算解决问题的一般步骤:数值计算解决问题的一般步
4、骤:数学模型选择语言编出程序测试最终解答。数值计算的关键是:数值计算的关键是:如何得出数学模型(方程)?非数值计算问题:非数值计算问题:数据元素之间的相互关系一般无法用数学方程加以描述.数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 数据结构研究的问题用计算机进行信息表示和处理涉及到两个问题: 信息的表示信息的表示 信息的处理信息的处理 而信息的表示和组织又直接关系到处理信息的程序的效率。随着信息量的增加,信息范围的拓宽,使许多程序的规模变大,结构又相当复杂。因此,为了编写出一个“好”的程序,必须分析待处理的对象的特征及各对象之间存在的关系,这就是数据结构这门课所要研究的问题。数数
5、据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 例1 书目自动检索系统登录号:书名:作者名:分类号:出版单位:出版时间:价格:书目卡片001高等数学樊映川S01002理论力学罗远祥L01003高等数学华罗庚S01004线性代数栾汝书S02书目文件按书名按作者名按分类号高等数学001,003理论力学002,.线性代数004,.樊映川001,华罗庚002,.栾汝书004,.L002,S001,003,索引表线性表数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 例2 人机对奕问题树.数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 例3 多叉路口交通灯管理问题CEDABABAC
6、ADBABCBDDADBDCEAEBECED图数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 &求解非数值计算的问题:求解非数值计算的问题: 主要考虑的是设计出合适的数据结构及相应的算法。 即:首先要考虑对相关的各种信息如何表示、组对相关的各种信息如何表示、组织和存储?织和存储? 因此,可以认为:数据结构是一门研究非数值计数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。之间的关系和操作的学科。数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 答:答:计算机内的数值运算依靠方程式,而计算机内的
7、数值运算依靠方程式,而非数值运算非数值运算(如(如表、树、图等)则要依靠数据结构。表、树、图等)则要依靠数据结构。 程序设计的实质是对实际问题选择一个好的数据结构,加之设计一个好的算法。而好的算法在很大程度上取决于描述实际问题的数据结构。同样的数据对象,用不同的数据结构来表示,同样的数据对象,用不同的数据结构来表示,运算效率可能有明显的差异。运算效率可能有明显的差异。数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 二、数据结构课程的形成和发展:二、数据结构课程的形成和发展: 形成阶段:形成阶段: 60年代初期,“数据结构”有关的内容散见于操作系统、编译原理和表处理语言等课程。1968
8、年,“数据结构”被列入美国一些大学计算机科学系的教学计划。 发展阶段:发展阶段: 数据结构的概念不断扩充,包括了网络、集合代数论、关系等“离散数学结构”的内容。 70年代后期,我国高校陆续开设该课程。数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 三、三、数据结构课程数据结构课程所处的地位:所处的地位:综合性的专业基础课数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 1.2 基本概念和术语基本概念和术语&几个概念:几个概念:数据数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的
9、符号的总称。输入到计算机中并被计算机程序处理的符号的总称。数据元素数据元素(Data Element):是数据的基本单位,在程序中通常作是数据的基本单位,在程序中通常作为一个整体进行考虑和处理。为一个整体进行考虑和处理。 一个数据元素可由若干个数据项组成。数一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。据项是数据的不可分割的最小单位。数据元素按其组成可分为简单型数据元素和复杂型数据元素。简单型数数据元素按其组成可分为简单型数据元素和复杂型数据元素。简单型数据元素由一个数据项组成;复杂型数据元素由多个数据项组成,它通常携据元素由一个数据项组成;复杂型数据元素由多个数据项组成
10、,它通常携带着一个概念的多方面信息。例带着一个概念的多方面信息。例: int x; POINT dot; x简单型简单型, dot复杂型复杂型.数据对象数据对象(Data Object):是性质相同的是性质相同的数据元素的集合数据元素的集合。是数。是数据的一个子集。据的一个子集。例如,整数数据对象的集合可表示为例如,整数数据对象的集合可表示为N0,1,2.,字母字符数据对象的集合可表示为字母字符数据对象的集合可表示为C=A,B,Z。数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 学号 姓名 性别 籍贯 电 话 通 讯 地 址 01 张三 男 长沙 8639000 麓山南路 327 号
11、 02 李四 男 北京 23456789 学院路 435 号 03 王五 女 广州 30472589 天河路 478 号 04 赵六 男 上海 41237568 南京路 1563 号 05 钱七 女 南京 5013472 南京大学 06 刘八 女 武汉 61543726 武汉大学 07 朱九 男 昆明 4089651 云南大学 08 孙十 女 杭州 6154372 西湖路 635 号 例如:学生卡片记录表数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 &数据结构定义数据结构定义1-是相互之间存在一种或多种特定关系的数据元素的集合。形式化定义:数据结构是一个二元组 Data_Struc
12、ture = (D,R)其中,D是数据元素的有限集合, R是D上关系的集合数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 &数据结构定义数据结构定义2- 按某种逻辑关系按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示按一定的存储表示 方式方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。在其上定义了一个运算的集合。具体来说,数据结构包含三个方面的内容,即数据的逻辑结构,数据的存贮结构和对数据所施加的运算(操作)。数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 这三个方面的关系为: (1)数据的逻辑结构独立于计算机,
13、是数据本身所固有的。(2)存贮结构是逻辑结构在计算机存贮器中的映像,必须依赖于计算机。(3)运算是指所施加的一组操作总称。运算的定义直接依赖于逻辑结构,但运算的实现必须依赖于存贮结构。 数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 &逻辑结构逻辑结构-划分方法划分方法&一、集合 结构中的数据元素除了同属于一种类型外,别无其它关系。二、线性结构 结构中的数据元素之间存在一对一的关系。三、树型结构 结构中的数据元素之间存在一对多的关系。 a b c d e f g h 图 树形结构抽象描述示意图 a1a2a3a4数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 四、图状结构或网
14、状结构 结构中的数据元素之间存在多对多的关系。 1 2 3 4 图 图形结构抽象描述示意图 数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 数据的逻辑结构逻辑结构可归结为以下四类四类: :线性线性结构树形树形结构图状图状结构集合集合结构数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 数据的逻辑结构只抽象反映数据元素的逻辑关系 数据的存储(物理)结构数据的逻辑结构在计算机存储器中的实现 同一种逻辑结构可采用不同的存储方法(以上四种之一或组合),这主要考虑的是运算方便及算法的时空要求。数据的逻辑结构与存储结构密切相关算法设计 逻辑结构算法实现 存储结构存储结构分为:顺序存储结构
15、借助元素在存储器中的相对位置来表示 数据元素间的逻辑关系链式存储结构借助指示元素存储地址的指针表示数据 元素间的逻辑关系数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 元素元素n n.元素元素i i.元素元素2 2元素元素1 1LoLo+mLo+(i-1)*mLo+(n-1)*m存储地址存储地址存储内容存储内容Loc(元素元素i)=Lo+(i-1)*m顺序存储顺序存储数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 1536元素元素2 21400元素元素1 11346元素元素3 3 元素元素4 41345h存储地址存储地址 存储内容存储内容 指针指针 1345 1345 元素
16、元素1 1 14001400 1346 1346 元素元素4 4 . . . . . 14001400 元素元素2 2 1536 1536 . . . . . 1536 1536 元素元素3 3 1346 1346 链式存储链式存储 h数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 数据的逻辑结构数据的逻辑结构 数据的存储结构数据的存储结构 数据的运算:检索、排序、插入、删除、修改等数据的运算:检索、排序、插入、删除、修改等 线性结构线性结构 非线性结构非线性结构 顺序存储顺序存储 链式存储链式存储 线性表线性表栈栈队队树形结构树形结构图形结构图形结构数据结构的三个方面:数据结构的三
17、个方面:数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 (1) S=(D, R) D= a, b, c, d, e, f R=(a,e), (b,c), (c,a), (e,f), (f,d)解:解: 上述表达式可用图形表示为:上述表达式可用图形表示为:b c a e f d此结构为此结构为线性线性的。的。数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 d1 d5 d2 d4 d3该结构该结构是非线性的是非线性的。解:解:上述表达式可用图形表示为:上述表达式可用图形表示为:数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 Q1 数据类型与抽象数据类型的区别?数据类型
18、与抽象数据类型的区别?Q2 抽象数据类型如何定义?抽象数据类型如何定义?Q3 抽象数据类型如何表示和实现?抽象数据类型如何表示和实现? 讨论:讨论:提示:教材中例提示:教材中例1-6和例和例1-7分别给出了抽象数据类分别给出了抽象数据类型型“三元组三元组”的定义、表示和实现,请阅读。的定义、表示和实现,请阅读。数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 数据类型:在一种程序设计语言中,变量所具有的数据种类。例1、 在FORTRAN语言中,变量的数据类型有整型、实型、和复数型 例2、在C语言中数据类型:基本类型和构造类型基本类型:整型、浮点型、字符型构造类型:数组、结构、联合、指针
19、、枚举型、自定义数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 typedef struct int num; char name20; float score;STUDENT;STUDENT stu1,stu2, *p;用户也可用typedef 自己定义数据类型数数 据据 结结 构构 武汉大学测绘学院武汉大学测绘学院 数据类型:是一个值的集合和定义在该值上 的一组操作的总称。抽象数据类型:由用户定义,用以表示应用问题的数据模型。它由基本的数据类型构成,并包括一组相关的服务(或称操作)它与数据类型实质上是一个概念,但其特它与数据类型实质上是一个概念,但其特征是征是使用与实现分离使用与
展开阅读全文