2010数据结构教案.docx
《2010数据结构教案.docx》由会员分享,可在线阅读,更多相关《2010数据结构教案.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据构造教案编号:001教学章节开课(课程综述)授课对象教学课型理论课授课形式课堂讲授授课学时1学时教学重点为什么要学习数据构造这门课;如何学习数据构造这门课教学难点如何将学习方法在本课程的学习过程中实际运用教 学 过 程 设 计时间安排1、 简洁自我介绍2、 介绍课程性质为什么数据构造课程在教学安排中处于核心地位“练武不练功,到头一场空”,一味在程序设计语言中钻研不会大幅度进步程序设计实力为什么要学习数据构造3、 学习目的从问题的求解过程入手,介绍数据构造的学习目的4、 学习方法和要求强调课外时间的利用、做习题和做试验在本课程中的重要性5、 介绍教材提倡读好书、多读书、会读书,进而强调在当今
2、社会,“文盲不再是目不识丁的人,而是不会学习的人”会学习多半是在高校养成的好习惯6、 介绍网络教学资源介绍精品课程网站,充分利用网络教学资源信息化、网络社会化,资源的检索和利用是一项根本技能15分钟10分钟10分钟5分钟5分钟教学策略 开课前,要激发学生的学习爱好,教师本身要表现出酷爱所教内容,从而感染和影响学生酷爱所学的内容,相识到本课程的重要性,产生学习的动力; 开课要交代本课程的教学目的,使学生明确为什么要学习这门课程,通过本课程的学习应当学会些什么,应当获得哪些实力 ; 有些学生由于前导课程C语言学的不好,对这门课产生顾虑,所以,要让学生知道,这门课的教学目的之一就是进一步培育程序设计
3、实力,在这门课程中补语言的学问还来得及。教学方法与教学手段教学方法:导入,协作图形、实例讲解,提问、讨论教学手段:PPT课件,板书,动画演示课后导读 查阅相关学校的考研指导,下载一些数据构造的考研真题,搜寻数据构造教学网站,为后续学习做打算; 搜寻相关用人单位面试题。教学后记教学感想、学生驾驭程度、学生参加状况、意外发觉、教学效果、个别疏漏及补救:数据构造教案编号:002教学章节第一章 绪论授课对象教学课型理论课授课形式课堂讲授授课学时4学时教学重点(1)数据构造的根本概念;(2)数据的逻辑构造、存储构造以及二者之间的关系;(3)算法及特点;(4)大O记号表示。教学难点(1)抽象数据类型的定义
4、和运用。 (2)算法的时间困难度分析。教学内容和教学目的知 识 点学 习 要 求识记理解娴熟驾驭应用分析综合数据构造的起源和开展程序设计的本质数据构造定义、分类数据构造中涉及的概念和术语数据的逻辑构造和存储构造抽象数据类型的定义、定义格式抽象数据类型C语言描绘的根本规定算法与程序的定义算法设计的要求问题规模、根本语句算法效率的度量时间困难度最好、最坏、平均状况的时间性能算法存储空间的度量空间困难度看法主动主动学习实力 学会定义数据构造和抽象数据类型 学会分析算法的时间困难度和空间困难度教 学 过 程 设 计时间安排回忆:为什么要学习数据构造?总结导入新课1.1 数据构造的兴起和开展介绍数据构造
5、课程体系的起源。理解历史专业素养提出问题:程序设计的本质是什么?通过具体实例得出答案介绍数据构造与程序设计的关系。强调数据构造始终是程序设计的根底从开展的观点和应用的观点讨论数据构造的开展1.2 数据构造的讨论对象从计算机求解问题的一般过程入手,建立抽象和数据模型的初步概念一、计算机可用于求解数值问题复习:以前用C语言编写数值计算问题的步骤二、计算机可用于求解非数值计算问题图书馆的书目检索系统自动化问题 人机对弈问题多叉路口交通灯管理问题教学安排编排问题通过具体实例总结数据构造的讨论对象,留意引申数据元素之间的关系教学提示: 从问题的求解过程入手,理解“数据构造+算法程序”,理解数据构造和算法
6、在问题求解中的作用 数据构造是从非数值问题抽象出来的数据模型,这个阶段的学生还没有抽象和模型的概念,须要补充抽象和模型的相关概念1.3 数据构造的根本概念回忆:依据生活中的实例简洁理解什么是数据构造?给出数据的定义,举例说明什么是数据给出数据元素和数据项的定义,依据上一讲的4个例子体会如何界定数据元素,总结数据、数据元素和数据项之间的关系给出数据对象的定义,引入数据构造的定义,从问题求解的角度强调数据构造包含逻辑构造和存储构造两个方面数据构造的图形表示方法给出逻辑构造的定义,重点说明逻辑关系数据构造的形式化定义给出存储构造的定义,重点强调如何表示逻辑关系从数据表示的角度总结逻辑构造和存储构造的
7、关系结合C语言中学过的数据类型,总结高级语言中的两类数据类型:原子类型和构造类型。在理解数据类型和抽象的根底上,给出抽象数据类型的定义,说明:数据模型 + 一组操作 = ADT抽象数据类型的形式化定义格式抽象数据类型形式化定义举例抽象数据类型的表示与实现结合抽象数据类型的定义说明数据构造的访问接口教学提示: 留意对根本概念的引入和阐述,抓住要点,留意用生活中的实例进展类比 逻辑关系比拟抽象、较难理解,通过实例在具体数据模型中理解逻辑关系 抽象数据类型是贯穿课程始终的概念,不要求学生开场就深入理解,在后续课程中反复应用及强调抽象数据类型的概念1.4 算法及算法分析依据生活中的实例简洁理解什么是算
8、法,给出算法的定义结合欧几里德算法,从运用的角度讲解算法的五大特性提出问题:算法设计的要求是什么?从例子推断代码是否为算法 算法 = 程序?指出程序设计的核心是算法分别用自然语言、流程图和C语言描绘欧几里德算法,从应用的角度介绍优点、缺点、运用方法、留意事项综合自然语言、流程图和C语言描绘欧几里德算法的优缺点,给出伪代码描绘,使学生从中理解伪代码描绘算法的好处。介绍用C语言中的函数描绘算法,强调用伪代码和C描绘算法是两种不同级别的抽象,表达了抽象分级的思想课堂练习:用伪代码描绘算法教学提示: 要把算法的特性讲透,从应用的角度讲解每一个特性的含义,其用处在于推断一个算法在形式上是否正确 伪代码描
9、绘算法较敏捷,但是,往往越敏捷的学问越不好把握。首先从框架上理解,再通过具体实例驾驭根本方法 学生通常都会将书中的算法照搬到计算机中,不能执行还惊奇强调算法是由人(或某种计算模型)来执行的 复习:数据构造和算法的根本概念,引出本讲的教学内容提出问题:什么是算法分析?为什么要进展算法分析?指出算法分析的目确实定了算法分析的方法给出事后度量方法并指出这种方法的局限性,引出事前估算的度量方法依据一个算法实例给出算法分析的方法,留意讲授过程中思维的交换给出问题规模和根本语句的概念,从不同角度讲解大O记号给出几个例子进展分析结合依次查找算法,分析最好、最坏、平均状况的时间性能简洁说明空间困难度的分析方法
10、算法的存储量包括:1、输入数据所占空间2、程序本身所占空间3、协助变量所占空间随堂小结:重点:1、熟识各名词、术语的含义,驾驭根本概念 2、理解算法五个要素的准确含义 3、驾驭计算语句频度和估算算法时间性能的方法学习方式:理解、记忆、驾驭教学提示: 讲授算法分析的重点在于讲授过程中思维的变换,要抓住关键点理顺思路,引导学生跟着思路走 大O记号是本章以及本课程的难点和重点,从不同角度(定义、极限、函数曲线等)深入理解其根本含义2分钟2分钟5分钟7分钟2分钟2分钟16分钟9分钟=2分钟3分钟5分钟2分钟2分钟8分钟5分钟5分钟1分钟2分钟6分钟4分钟=4分钟10分钟3分钟15分钟4分钟3分钟6分钟
11、=4分钟4分钟3分钟13分钟8分钟5分钟5分钟2分钟教学策略在授课过程中采纳多媒体教学,首先复原问题的原来面目提出问题,引导学生主动参加尝试解决问题,在讨论的根底上给出结论讲授教学内容、解决问题,最终采纳课件进展算法的动态演示,加大课堂信息量,进步教学效率。教学方法与教学手段教学方法:导入,协作图形、实例讲解,提问、讨论教学手段:PPT课件,板书,动画演示课后导读 在数据构造方面,最早的权威著作是Knuth所著的系列丛书计算机程序设计艺术,这套书特别值得一看 很多人致力于计算机科学中的问题求解,事实上这正是该领域吸引人的地方。如何求解问题(曹庆译 中国水利水电出版社)是进步问题求解实力的经典著
12、作 关于抽象数据类型,数据构造与算法(许卓群 高等教化出版社)给出了较深化的讨论 关于如何设计一个好的算法请阅读计算与算法导论(章小莉 电子工业出版社)第2章和第8章 算法分析的方法最初源于Knuth所著的系列丛书计算机程序设计艺术(第三卷)。 关于算法分析较深化的讨论请阅读算法分析导论(冯舜玺 机械工业出版社)教学后记教学感想:学生驾驭程度:学生参加状况:意外发觉:教学效果:个别疏漏及补救:数据构造教案编号003教学章节第二章 线性表授课对象教学课型理论课授课形式课堂讲授授课学时5学时教学重点(1)依次存储构造和链式存储构造的根本思想;(2)基于依次表和单链表根本操作的实现;(3)基于依次表
13、和单链表根本操作的时间性能分析;(4)依次表和单链表之间的比拟。教学难点(1)线性表的抽象数据类型定义;(2)基于单链表的算法设计,尤其是要求算法满意肯定的时间性能和空间性能;(3)双链表操作的实现教学内容和教学目的知 识 点学 习 要 求识记理解娴熟驾驭应用分析综合线性表的逻辑构造定义、抽象数据类型定义线性表的根本操作线性表的两种表示方法:依次存储和链式存储基于依次表和单链表根本操作的实现基于依次表和单链表根本操作的时间性能分析依次表和单链表之间的比拟,适用场合稀疏多项式的抽象数据类型定义、表示稀疏多项式加法的实现约瑟夫环问题看法主动主动学习实力 娴熟驾驭线性表的两种存储构造的表示和其上根本
14、操作的实现; 会用算法的时间困难度和空间困难分析方法分析这些操作; 学会用线性这种数据构造解决实际问题并对编写的算法困难性进展分析教 学 过 程 设 计时间安排复习:数据构造的分类 数据的存储构造总结线性构造的特点,并导入新课指出线性构造的特点2.1 线性表的类型定义通过几个二维表的实例引出线性表的定义给出线性表的定义,留意强调要点,总结线性表的特性给出线性表的抽象数据类型定义,重点讲解并描绘根本操作部分。包括:构造初始化操作、构造销毁操作、引用型操作、加工型操作、困难操作。留意结合算法实例讲解。利用线性表实现集合的并、集合的无重复并,线性表的合并2.2 线性表的依次表示和实现依次表给出依次表
15、的存储示意图,强调存储要点,总结存储特点复习存储地址的有关内容,给出依次表的随机存取特性依次存储的地址计算方法依次表存储构造的定义教学提示: 有关线性表的内容比拟简洁,学生简洁驾驭,但要透彻理解并不简洁 把线性表定义的讲透,通过线性表定义的讲授方法,向学生浸透一种理解根本概念的方法问题分解、抓住要点、引申 通过线性表抽象数据类型进一步理解抽象数据类型的三个视图(运用视图、设计视图、实现视图),理解其模块化思想,驾驭其运用方法,并为后续内容做铺垫 在授课过程中要复习C语言的相关学问,复习遵循的原则是“好用至上”,从应用的角度复习,留意凝练,切忌“多而杂”线性表的根本操作在依次表中的实现与困难度分
16、析,留意结合算法实例讲解。例子:初始化、建立、插入、递增插入、递减插入、删除、按位查找、按值查找,给出执行过程,再写出算法总结依次表的优缺点教学提示: 对于依次表的算法(插入、删除)要讲过程、讲思路、讲方法,留意培育抽象思维实力和逻辑思维实力,这是本课程技能培育方面的教学目的23 线性表的链接存储构造及实现由依次表的缺点引出链接存储构造依据一个实例给出线性表链接存储的实际内存状态,复习C语言中指针的有关学问,抽象出单链表的存储示意图给出单链表的存储构造定义及C语言描绘区分指针变量和结点变量,说明头指针、尾标记和头结点给出单链表的按位查找算法,总结单链表算法的设计形式设计单链表的插入算法,分析时
17、间性能比拟带头结点和不带头结点的单链表上的插入操作给出单链表的删除算法,留意分析边界状况给出单链表建立算法中的头插法和尾插法提出问题:如何在连续存储区实现链接存储?引出静态链表给出静态链表的定义,总结静态链表存储构造的优缺点通过图示理解静态链表的插入和删除操作的执行过程提出问题:将数组和指针结合起来存储线性表会怎样?引出间接寻址通过图示理解间接寻址存储构造上如何实现插入和删除操作,并与依次表的插入和删除操作做比拟24 依次表和单链表的比拟将依次表和单链表进展比拟,总结比拟存储构造的方法25 线性表的其它存储方法提出问题:在单链表中如何找某结点的前驱?从而引出循环链表将循环链表的插入算法与单链表
18、的插入算法作比拟讲解并描绘例子:将单循环链表倒置或逆置。提出问题:在头指针批示的循环链表中,如何查找开场结点和终端结点?引出带尾指针的循环链表提出问题:如何快速求得某结点的前驱?引出双链表通过图示理解双链表的插入和删除操作,写出算法教学提示: 娴熟运用指针是学好单链表的根本前提,首先须要复习指针的有关内容 在精讲单链表查找算法的根底上,总结单链表算法的设计形式 单链表算法设计的关键是多练 静态链表和间接寻址是依次存储和链接存储相结合的产物,要引申各存储构造之间的关系 循环链表和双链表是单链表的变形 存储构造的设计是个很敏捷的过程,本讲的重点在于种存储构造的设计思想,要把敏捷的思想讲出来2.6
19、线性表的应用举例A 一元多项式的表示及相加给出一元多项式的数学表示形式和线性表表示形式提出这种表示形式不合适表示稀疏多项式给出一元稀疏多项式的数学表示形式和线性表表示形式抽象数据类型一元多项式的定义,存储构造的选取分析一元多项式的链式存储构造定义根本操作的算法实现和困难性分析,包括单个多项式的创立、两个多项式相加等B 约瑟夫环给出约瑟夫环问题的描绘,介绍该问题的起源运行一个实例,从逻辑上理解约瑟夫环问题的求解过程,抽象出数据模型复习依次表存储构造,考虑用依次存储构造实现约瑟夫环问题,设计具体的存储构造,设计算法实现求解复习单链表存储构造,考虑用单链表存储构造实现约瑟夫环问题,设计具体的存储构造
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2010 数据结构 教案
限制150内