ImageVerifierCode 换一换
格式:DOCX , 页数:66 ,大小:42.99KB ,
资源ID:20270411      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20270411.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(新版数据结构教案Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

新版数据结构教案Word文档格式.docx

1、核心地位2 课程学习目标(1) 学习知识角度(2) 培养能力角度3 介绍教材:主教材和与之配套的辅助教材4 介绍参考文献资料:多角度、全方位学习5 介绍网络教学资源:6 学习方法及要求(1) 坚持上课(2) 学会读书:预习+复习+拓展(3) 认真作业和实验(4) 下载课件、演示系统,提高记忆效率(5) 理解知识+自主实践7考核要求:作业+考勤+实验+自主实践(期中考核)+期末考试15分钟3分钟10分钟2分钟课程总结:下定决心、树立信心、坚持恒心、改革创新教学提示1开课要精彩,激发兴趣,认识重要性2明确课程目标:学些什么,达到的目标3需要具备的基本知识,对基础差的同学多鼓励从现在做起=追赶超出4

2、为什么学,怎样学,如何学好5考研思考题课后导读 你对你所学的专业了解多少?你对学习这门课应该如何准备?在数据结构方面,最早的权威性著作是Knuth所著的系列丛书计算机程序设计艺术,这套书非常值得一看教学后记教学专题数据结构的研究对象1-2数据结构的兴起和发展 11 、12 抽象与数据类型;数据结构的研究对象 数据结构与类的对应关系教学目标知识点学习要求了解理解掌握熟练掌握 程序设计的性质 数据结构的起源和发展 数据结构与程序设计的关系 计算机求解问题的一般过程 数据结构的研究对象介绍数据结构课程体系的起源。了解历史专业素养1 提出问题:程序设计的实质是什么?通过具体实例得出答案2 介绍数据结构

3、与程序设计的关系,强调数据结构始终是程序设计的基础,强调从面向对象角度看待数据结构3 从发展的观点和应用的观点讨论数据结构的发展4 从计算机求解问题的一般过程入手,建立抽象和数据模型的初步概念5 通过具体实例总结数据结构的研究对象,注意引申数据元素之间的关系12分钟数据结构研究的对象是非数值计算问题1从问题求解过程入手,理解“数据结构+算法=程序”,理解数据结构和算法在问题求解中的作用2通过结构化程序和面向对象程序对比,从框架上理解为什么将数据结构从结构化发展到面向对象3数据结构是从非数值问题抽象出来的数据模型,这个阶段的学生还没有抽象和模型的概念,需要补充抽象和模型的相关知识媒体使用 多媒体

4、课件:Kunth的照片及介绍;用动画辅助解释基本概念 教学网络平台:相关教学材料 在数据结构方面,最早的权威性著作是Knuth所著的系列丛书计算机程序设计艺术,这套书非常值得一看许多人致力于计算机科学中的问题求解,实际上这正是该领域吸引人的地方。如何求解问题(曹宏庆.中国水电出版社)是提高问题求解能力的经典著作教学专题数据结构的基本概念2-30数据结构的基本概念 1.4学时(70分钟) 1.3数据结构及相关概念;数据的逻辑结构和存储结构之间的关系 数据元素;逻辑关系;抽象数据类型 数据、数据项、数据对象 数据元素 数据结构 数据的逻辑结构 数据的存储结构 逻辑结构和存储结构之间的关系 数据结构

5、的访问接口 抽象数据类型 根据生活中的实例简单理解什么是数据结构1 给出数据的定义,举例说明什么是数据2 给出数据元素和数据项的定义,根据上一讲得个例子体会如何界定数据元素,总结数据、数据元素、数据项之间的关系3 给出数据结构的定义,从问题求解的角度强调数据结构包含逻辑结构和存储结构两个方面4 给出逻辑结构的定义重点解释逻辑关系5 给出存储结构的定义,重点强调如何表示逻辑关系6 从数据表示的角度总结逻辑结构和存储结构的关系7 在理解数据类型抽象的基础上,给出抽象数据类型的定义,说明:数据模型+一组操作=ADT8 结合抽象数据类型的定义说明数据结构的访问接口 8分钟6 分钟5 分钟数据的逻辑结构

6、、存储结构及其相互关系1注意对基本概念的引入和阐述,抓住要点,注意用生活中的实例进行类比逻辑2关系较抽象、较难理解,通过实例在具体数据模型中理解逻辑关系3抽象数据类型是贯穿课程始终的概念,不要求学生开始就深刻理解,在后续的课程中反复应用抽象数据类型的三个视图同心圆式的教学方法用动画实现存储结构;美William Ford, William Topp著,刘卫东,沈官林译,数据结构C+语言描述,清华大学出版社,第3章抽象数据类型和类和第7章形式数据类型教学专题算法的基本概念3-1+30算法的基本概念 1.6 学时(80分钟)算法的定义及特性;伪代码描述算法 算法的特性; 算法及算法的特性 算法和程

7、序的关系 算法的描述方法自然语言算法的描述方法程序流程图算法的描述方法程序设计语言算法的描述方法伪代码 用C+语言中的函数描述算法根据生活中的实例简单理解什么是算法1给出算法的定义,从使用的角度讲解算法的特性2提出问题:算法=程序?指出程序设计的核心是算法3分别用自然语言、程序设计流程图和C+语言举例描述算法,从应用角度介绍优点、缺点、使用方法、注意事项4综合自然语言、程序设计流程图和C+语言描述算法的优缺点,给出伪代码描述,反映伪代码描述的优势5介绍用C+语言中的函数描述算法,强调用伪代码和C+描述算法是两种抽象级别,体现了抽象分级的思想6课堂练习用伪代码描述算法20分钟8分钟算法的定义和描

8、述方法;算法与程序的关系1算法特性要讲清楚透彻,从应用的角度讲解每一个特性的含义,其用途在于判断一个算法在形式上是否正确2伪代码描述算法比较灵活,但掌握存在难度,应先从框架上理解,再通过事例掌握基本方法3强调算法的作用,是不能直接执行的计算与算法导论章小莉等译,电子工业出版社。关于如何设计一个好的算法请阅读第2章和第8章教学专题算法及算法分析3-2算法及算法分析 14用大O记号表示算法的时间 算法分析的方法;用大O记号表示算法的时间性能 度量算法效率的方法事后度量度量算法效率的方法事前估算 算法分析的目的问题规模、基本语句大O记号估算算法时间复杂度的基本方法 最好、最坏、平均情况时间性能通过复

9、习数据结构和算法的基本概念引出本讲内容1提出问题:什么是算法分析?为什么要进行算法分析?指出算法分析的目的决定了算法分析的方法2给出事后度量方法并指出该方法的局限性,引出事前估算的度量方法3根据一个算法实例给出算法分析的方法4给出问题规模和基本语句概念,从不同角度讲解大O记号5结合顺序查找算法,分析最好、最坏、平均情况的时间性能6说明空间复杂度的分析方法算法分析的事前估算方法;1注意讲授算法分析过程中的思维变换2深刻理解大O记号的含义用动画给出算法分析方法的过程;再用板书总结 算法分析导论冯舜玺译,机械工业出版社。关于算法分析较深入的讨论见第1章算法分析概述教学专题线性表(一)41线性表的逻辑

10、结构 2线性表的顺序存储结构 2学时(100分钟) 21、22线性表的定义;线性表的逻辑特征;顺序表的存储特点;顺序表的基本操作 线性表的抽象数据类型定义;用伪代码描述算法,描述顺序表的基本操作 线性表的定义 线性表的逻辑特征 线性表的抽象数据类型定义线性表的基本操作顺序表的存储特点顺序表类 顺序表的插入、删除操作的时间性能 顺序表的优缺点通过几个二维表的实例1给出线性表的定义,总结线性表的逻辑特性2复习ADT的三个视图(定义视图、设计视图、实现视图)3给出线性表的抽象数据类型定义4给出顺序表的存储示意图,总结存储特点5复习存储地址的有关内容,给出顺序表的随机存取特性6顺序表类的声明、构造函数

11、、析构函数7给出顺序表插入操作的执行过程,写出伪代码,再写出C+描述8分析插入算法的时间性能,总结算法分析的一般步骤9对于顺序表的删除操作,给出必要的提示,要求学生自行完成10给出顺序表的查找操作的执行过程和算法11总结顺序表的优缺点10 分钟7分钟15 分钟线性表的逻辑结构;顺序表的存储特点和基本操作1线性表的定义要讲清楚透彻,向学生渗透一种理解概念的方法问题分析、抓住要点、引申理解2通过线性表抽象数据类型进一步理解抽象数据类型的三个视图,理解模块化思想,掌握其使用方法3从实用角度出发复习C+语言相关知识4对于顺序表的基本操作算法,要讲思路、讲方法、讲过程,注意培养抽象思维能力和逻辑思维能力

12、。用动画辅助解释基本概念和模拟顺序表类的基本操作的执行过程数据结构(C语言版)严蔚敏编著,清华大学出版社。参阅相关章节:关于线性表的定义采用二元组的形式数据结构与算法齐德昱编著,清华大学出版社。注意顺序表的实现与本教材不同教学专题线性表(二)5线性表的链接存储结构及实现 23、24单链表的存储特点;单链表的基本操作的算法及时间性能 单链表查找、插入和删除算法 单链表的存储要点及存储特点 单链表类 单链表的顺序存取特性单链表的插入、删除操作单链表插入、删除操作的时间性能单链表类的构造函数和析构函数顺序表和单链表的比较通过分析顺序表的缺点引出链接存储结构1根据一个实例给出线性表链接存储的实际内存状

13、态,复习C+语言中指针的相关知识,抽象出单链表的存储结构示意图2区分指针变量和结点变量,说明头指针、头结点和尾指针3给出单链表类的声明,引申单链表类与顺序表类的关系4给出单链表查找的算法,总结单链表算法的设计模式5设计单链表的插入算法,分析时间性能6比较带头结点和不带头结点的单链表上的插入操作7设计单链表的删除算法,注意分析边界情况8对单链表类的构造函数,给出头插法和尾插法的算法9对单链表类的析构函数,给出必要的提示,要求学生自行完成20 分钟 5 分钟12 分钟将顺序表和单链表进行比较,总结并比较存储结构及实现方 法1熟练使用指针是学好单链表的基本前提2单链表算法设计的关键是多练,安排一节习

14、题课是非常必要的,如果学时较紧,至少通过课堂对相关作业进行点评用动画模拟单链表各种操作的执行过程注意单链表表的实现与本教材不同教学专题线性表(三)6 1线性表的其它存储方法 2线性表的应用举例 25及课后思考题和习题循环链表、双链表 双链表的基本操作 循环链表的存储结构 循环链表的操作 双链表的存储结构双链表的基本操作 静态链表的存储结构 静态链表的操作间接寻址存储结构 约瑟夫环问题描述 设计算法求解约瑟夫环问题通过提出问题:在单链表中如何查找某结点的前驱?1将循环链表的插入算法与单链表的插入算法进行比较2在有头结点的循环链表中,如何查找第1个结点和最后1个结点,引出带尾指针的循环链表3如何更

15、快速得到某结点的前驱(空间换时间),引出双链表4通过图示理解双链表的插入和删除操作,给出算法5如何通过连续存储实现连接关系,引出静态链表6通过图示理解静态链表的插入和删除操作过程7提出问题:将数组和指针结合起来存储线性表会怎样?引出间接寻址8通过图示理解间接存储结构上如何实现插入和删除操作,并与顺序表进行比较9给出约瑟夫环问题的描述,介绍该问题的起源10从逻辑上理解约瑟夫环问题的求解过程11分别用顺序存储结构和单链表存储结构实现约瑟夫环问题12其它问题或习题举例 8 分钟20分钟5 分钟线性表的各种逻辑结构;线性表的存储特点和基本操作1循环链表和双链表是单链表的变形2静态链表和间接寻址是顺序存

16、储和连接存储相结合的产物3重点在于灵活设计各种存储结构的思想4通过例题检验学生掌握线性表及其存储结构的教学效果。用动画模拟算法和示例的执行过程,用动画辅助解释基本概念数据结构C+实现穆淮扣等编著,科学出版社。关于双链表的实现 上网查找约瑟夫环及其变形问题的解决方法,完成关于该问题的课程作业教学专题栈7 栈 31、341栈的操作特性、顺序栈及实现、链栈及实现 两栈共享空间 栈的定义及操作特性 栈的抽象数据类型定义 顺序栈及实现两栈共享空间链栈及实现顺序栈和链栈的比较顺序栈应用举例通过复习线性表的插入和删除操作引出栈1给出栈的定义,通过实例说明栈的操作特性2根据顺序栈存储示意图给出入栈和出栈算法,

17、分析时间性能。总结:顺序栈算法是顺序表算法的简化3如何提高栈空间的利用率?引出两栈共享空间算法4复习单链表,如何改造成链栈?5根据链栈存储示意图给出入栈和出栈算法,分析时间性能。链栈算法是单链表算法的简化6回顾顺序表和单链表的比较方法,引导学生得出顺序栈和链栈的比较结果7给出递归的定义,结合具体实例说明递归是一种描述问题和解决问题的基本方法8递归问题举例9给出描述递归函数运行轨迹的图示方法,强调递归的层次10总结递归函数,强调注意事项25 分钟 2 分钟 3 分钟5分钟5分钟栈的操作特性;栈的基本操作和栈的应用1栈是计算机技术及程序设计中常用的数据结构之一,熟练掌握对后续学习有益2根据生活实例

18、深刻理解栈的操作特性,并与线性表进行比较3从实用角度出发复习C+语言递归知识4通过递归函数的运行轨迹,引导学生理解递归的调用层次以及实参和形参的结合方法,及程序运行过程中工作栈的变化 用动画辅助解释基本概念和模拟各操作的执行过程注意用抽象类和继承类实现栈数据结构刘大友等编著,高等教育出版社,相关章节对递归和汉诺塔问题进行了较深入的介绍教学专题队列8 队列 32、342队列的操作特性、循环队列及实现、链队列及实现 循环队列的存储方法及队空和队满的判断 队列的定义及操作特性 队列的抽象数据类型定义 顺序队列的假溢出现象循环队列及实现链队列及实现循环队列和链队列的比较队列的应用举例通过复习线性表和栈的插入、删除操作引出栈1给出队列的定义,通过实例说明队列的操作特性2如何存储?引出队列的顺序存储和链接存储3假溢出问题?改造顺序表,得出循环队列的存储方法4如何判断队空和队满?分析各种解决方案5如何改造单链表实现队列的链接存储6链式队列的出队算法需注意边界情况(判断队空)7引导学生比较循环队列和链式队列8队列问题应用举例队列的操作特性;队列的基本操作和队列的应用1队列是程序设计中常用的数据结构之一,熟练掌握对后续学习有益2根据

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1