数据结构丽水学院课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构丽水学院课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 丽水 学院 课件
- 资源描述:
-
1、数据结构丽水学院工学院数据结构丽水学院工学院v编程基础编程基础v计算机及相关专业考研考博课程计算机及相关专业考研考博课程v计算机等级考试课程计算机等级考试课程v程序员考试课程程序员考试课程为什么要学习数据结构为什么要学习数据结构数据结构丽水学院工学院课程学习指导课程学习指导 1.1.提前提前预习预习、认真听课、按时完成书面及上机、认真听课、按时完成书面及上机作业作业 2.2.注意先修课程的知识准备注意先修课程的知识准备离散数学、离散数学、C C语言语言 3.3.注意循序渐进:注意循序渐进:基本基本概念概念、基本、基本思想思想、基本、基本步骤步骤、算法算法设计设计 4.4.注意培养算法设计的能力
2、注意培养算法设计的能力理解所讲算法、对此多做理解所讲算法、对此多做思考思考:若问题要求不同,:若问题要求不同,应如何选择数据结构,设计有效的算法应如何选择数据结构,设计有效的算法课程特点:课程特点:内容抽象、概念性强、内容灵活、不易掌握内容抽象、概念性强、内容灵活、不易掌握数据结构 平时成绩平时成绩 :40%:40%考勤考勤20%20%、课堂表现、课堂表现10%10%、作业、作业20%20%、实验、实验50%50%课堂纪律课堂纪律无故迟到:无故迟到:无故旷课:无故旷课:-5-5上机:上机:玩游戏、上网聊天玩游戏、上网聊天-5-5 期末成绩期末成绩 :60%(:60%(闭卷笔试闭卷笔试)考核方式
3、考核方式丽水学院工学院数据结构教材和参考书教材和参考书教材:教材:数据结构数据结构(第第2 2版版),严蔚敏,李冬梅等,人民邮电出版社,严蔚敏,李冬梅等,人民邮电出版社 参考书:参考书:数据结构数据结构,严蔚敏,清华大学出版社,严蔚敏,清华大学出版社 数据结构数据结构用面向对象方法与用面向对象方法与C+C+描述描述,殷人昆等,清华大,殷人昆等,清华大学出版社学出版社 算法艺术与信息学竞赛算法艺术与信息学竞赛,刘汝佳,黄亮清华大学出版社,刘汝佳,黄亮清华大学出版社丽水学院工学院数据结构第第1 1章绪论章绪论1.1.了解数据结构研究的主要内容了解数据结构研究的主要内容2.2.掌握数据结构中涉及的基
4、本概念掌握数据结构中涉及的基本概念3.3.掌握算法的时间、空间复杂度及其分析的掌握算法的时间、空间复杂度及其分析的简易方法简易方法 教学目标教学目标丽水学院工学院数据结构1.1 1.1 数据结构的研究内容数据结构的研究内容1.2 1.2 基本概念和术语基本概念和术语1.3 1.3 抽象数据类型的表示与实现抽象数据类型的表示与实现 1.4 1.4 算法与算法分析算法与算法分析教学内容教学内容丽水学院工学院数据结构丽水学院工学院&N.N.沃思(沃思(Niklaus Wirth)Niklaus Wirth)教授提出:教授提出:程序程序=算法算法+数据结构数据结构&电子计算机的主要用途:电子计算机的主
5、要用途:早期:早期:主要用于数值计算主要用于数值计算 后来:后来:处理逐渐扩大到非数值计算领域,能处理多种处理逐渐扩大到非数值计算领域,能处理多种复杂的具有一定结构关系的数据复杂的具有一定结构关系的数据1.1 1.1 数据结构的研究内容数据结构的研究内容数据结构书目自动检索系统登录号:书名:作者名:分类号:出版单位:出版时间:价格:书目卡片001高等数学樊映川S01002理论力学罗远祥L01003高等数学华罗庚S01004线性代数栾汝书S02书目文件按书名按作者名按分类号高等数学001,003理论力学002,.线性代数004,.樊映川001,华罗庚002,.栾汝书004,.L002,S001,
6、003,索引表线性表丽水学院工学院数据结构丽水学院工学院人机对奕问题树.数据结构/(root)binlibuseretcmathdsswyintaoxieStack.cppQueue.cppTree.cpp文件系统的系统结构图文件系统的系统结构图树丽水学院工学院数据结构丽水学院工学院 8:23 多叉路口交通灯管理问题CEDABABACADBABCBDDADBDCEAEBECED图顶点:顶点:一条通路连线:连线:不能同时通行染色:染色:有连线的两个顶点不能具有相同颜色数据结构丽水学院工学院&求解非数值计算的问题:求解非数值计算的问题:设计出合适的数据结构及相应的算法设计出合适的数据结构及相应的算
7、法 即:首先要考虑即:首先要考虑对相关的各种信息如何表示、组织对相关的各种信息如何表示、组织和存储?和存储?数据结构的研究内容为:数据结构的研究内容为:研究非数值计算的程序设计问题中计算机的研究非数值计算的程序设计问题中计算机的操作操作对象对象以及它们之间的以及它们之间的关系和操作关系和操作。数据结构北京林业大学信息学院 8:23 丽水学院工学院数据结构1 1、数据、数据(data)data)所有能输入到计算机中去的所有能输入到计算机中去的描述客观事物的符号描述客观事物的符号u数值性数据数值性数据u非数值性数据(多媒体信息处理)非数值性数据(多媒体信息处理)2 2、数据元素、数据元素(data
8、 elementdata element)数据的数据的基本单基本单位位,也称结点(,也称结点(nodenode)或记录(或记录(recordrecord)3 3、数据项、数据项(data itemdata item)有独立含义的数据有独立含义的数据最最小单位小单位,也称域,也称域(field)field)三者之间的关系:数据三者之间的关系:数据 数据元素数据元素 数据数据项项例:学生表例:学生表 个人记录个人记录 学号、姓名学号、姓名1.2 1.2 基本概念和术语基本概念和术语丽水学院工学院数据结构丽水学院工学院u整数数据对象整数数据对象 N=0,N=0,1,1,2,2,u学生数据对象学生数据
9、对象 学生记录的集合学生记录的集合4 4、数据对象数据对象(Data Object)(Data Object):相同特性相同特性数据元素的集合,是数据的一个子集数据结构5 5、数据结构(、数据结构(Data StructureData Structure)是相互之间存是相互之间存在一种或多种特定关系的数据元素的集合。在一种或多种特定关系的数据元素的集合。数据结构是带数据结构是带“结构结构”的数据元素的集合,的数据元素的集合,“结构结构”就是指数据元素之间存在的关系。就是指数据元素之间存在的关系。丽水学院工学院数据结构&数据结构的两个层次:数据结构的两个层次:&逻辑结构逻辑结构-数据元素间抽象化
10、的相互关系,与数据的存储无关,独数据元素间抽象化的相互关系,与数据的存储无关,独立于计算机,它是从具体问题抽象出来的数学模型。立于计算机,它是从具体问题抽象出来的数学模型。&存储结构(物理结构)存储结构(物理结构)-数据元素及其关系在计算机存储器中的存储方式。数据元素及其关系在计算机存储器中的存储方式。丽水学院工学院数据结构划分方法一划分方法一(1 1)线性结构)线性结构-有且仅有一个开始和一个终端结点,并且所有有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个后继。结点都最多只有一个直接前趋和一个后继。例如:线性表、栈、队列、串例如:线性表、栈、队列、串(2 2)非线性
11、结构)非线性结构-一个结点可能有多个直接前趋和直接后继。一个结点可能有多个直接前趋和直接后继。例如:树、图例如:树、图逻辑结构逻辑结构丽水学院工学院数据结构线性结构线性结构一个对一个,如线性表、栈、队列一个对一个,如线性表、栈、队列树形结构树形结构一个对多个,如树一个对多个,如树集合集合数据元素间除数据元素间除“同属于一个集合同属于一个集合”外,无其它关系外,无其它关系图形结构图形结构多个对多个,如图多个对多个,如图逻辑结构逻辑结构划分方法二划分方法二丽水学院工学院数据结构存储结构分为:存储结构分为:顺序顺序存储结构存储结构借助元素在存储器中的借助元素在存储器中的相对位置相对位置来表示来表示
12、数据元素间的逻辑关系数据元素间的逻辑关系链式链式存储结构存储结构借助指示元素存储地址的借助指示元素存储地址的指针指针表示数据表示数据 元素间的逻辑关系元素间的逻辑关系存储结构存储结构丽水学院工学院数据结构元素元素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 元素元素1 1
13、 14001400 1346 1346 元素元素4 4 .14001400 元素元素2 2 1536 1536 .1536 1536 元素元素3 3 1346 1346 链式存储链式存储 h丽水学院工学院数据结构丽水学院工学院 逻辑结构和存储结构都相同逻辑结构和存储结构都相同,但运算不同但运算不同,则则数据结构不同。例如数据结构不同。例如,栈与队列栈与队列 对于一种数据结构对于一种数据结构,常见的运算常见的运算插入插入删除删除修改修改查找查找排序排序数据的运算数据的运算数据结构丽水学院工学院n定义:定义:在一种程序设计语言中,变量所具有在一种程序设计语言中,变量所具有的数据种类的数据种类数据类
14、型数据类型FORTRANFORTRAN语言:语言:整型、实型、和复数型整型、实型、和复数型 C C语言语言:基本数据类型:基本数据类型:char int float double voidchar int float double void构造数据类型:构造数据类型:数组、结构体、共用体、文件数组、结构体、共用体、文件 数据类型是一组性质相同的值的集合数据类型是一组性质相同的值的集合,以及以及定义于这个集合上的一组运算的总称定义于这个集合上的一组运算的总称数据结构丽水学院工学院抽象数据类型(ADTs:Abstract Data Types)u更高层次的数据抽象更高层次的数据抽象u由用户定义,用
15、以表示应用问题的由用户定义,用以表示应用问题的数据模型数据模型u由由基本的数据类型基本的数据类型组成组成,并包括并包括一组相关的一组相关的操作操作抽象数据类型抽象数据类型数据结构抽象数据类型抽象数据类型可以用以下的三元组来表示:可以用以下的三元组来表示:ADT=ADT=(D D,S S,P P)数据对象数据对象 D D上的关系集上的关系集 D D上的操作集上的操作集 ADTADT抽象数据类型名抽象数据类型名 数据数据对象对象:数据数据关系关系:基本基本操作操作 :ADT ADT抽象数据类型名抽象数据类型名ADTADT常用常用定义定义格式格式丽水学院工学院数据结构1.3 1.3 抽象数据类型的表
展开阅读全文