- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
授课章节 第6章 树和二叉树 课时安排 10课时+2实验 一、教学目标 掌握 1、树和二叉树的性质,相关术语及基本概念。
2、二叉树的两种存储方法,重点是链式存储据。
3、二叉树三种顺序遍历及其递归实现算法。
4、二叉树的层次遍历
5、创建链式存储的二叉树的算法。
6、中序线索二叉树的算法:中序线索二叉树上基本算法(遍历、求指定结点的前驱和后继、查找指定值的结点)。
7、树的遍历算法(先根遍历、后根遍历);森林的遍历算法(前序遍历,后序遍历)
8、哈夫曼树的概念;哈夫曼树的构造算法;哈夫曼编码
9、通过本章的算法的学习,让学生认识到递归定义的数据结构之下求解相应问题,思路清晰和简洁算法设计方法是采用递归的方式。 理解 1、二叉树三种遍历的非递归算法及其与栈的关系
2、在中序线索树指定结点下插入新结点的算法,学会在复杂情形下分类讨论的方法。
3、树的三种存储结构(双亲表示法、孩子表示法、孩子兄弟表示法)及各自的特点(优点、缺点)
4、掌握树、森林和对应的二叉树相互转换算法。 二、教学重点 1、二叉树的性质;二叉树的链式存储。
2、二叉树三种顺序遍历算法,遍历算法的应用。
3、中序线索二叉树的算法及其简单应用。
4、哈夫曼树的构造和编码算法—注意程序实现的编程技巧。 三、教学难点 1、二叉树性质的运用
2、二叉树三种遍历的非递归算法。
3、中序线索二叉树的理解及先序后序线索算法的实现。
4、二叉树中,学会递归的思想求解问题,用遍历的典型算法解决一些具体问题。 四、主要教学内容
1、树的定义及其相关概念(如节点的度、终端节点、树的深度、有序树、无序树、森林等)
2、树的表示(四种表示方法)
3、二叉树的定义
4、二叉树的基本性质(5条性质)
5、二叉树的存储结构(顺序存储、链式存储)
6、二叉树遍历的定义
7、先序遍历、中序遍历、后序遍历的递归算法。
8、利用栈实现遍历的对应非递归算法。
9、二叉树层次遍历
10、线索的概念;中序线索二叉树;中序线索二叉树的应用
11、树的三种存储结构(双亲表示法、孩子表示法、孩子兄弟表示法)。
12、树、森林和对应二叉树间的相互转换(自然语言描述)
13、树和森林的遍历(简要陈述)
14、哈夫曼树的概念;哈夫曼树的构造算法;哈夫曼编码
五、教学过程设计
1. 整体教学设计
1.1 第1次课(2学时)
现实世界存在一类事物(如机构的组织)需要用一种特殊的数据结构—树去描述。
?引入树的定义 ?树相关基本概念 ?树的表示
?特例:二叉树概念及定义?研究二叉树 ? 树、森林与二叉树的相互转换
?二叉树的基本性质 ?如何表示二叉树?二叉树的存储
?课时小结
1.2 第2次课(2学时)
按一定规则依次访问二叉树节点(把二叉树的结点按规则线形排列)
? 提出二叉树的遍历 ? 1、先根、中根、后根遍历的递归算法 2、层次遍历(用队列)
? 总结特点并对比
?思考?遍历的递归算法如何转换为非递归算法?讲解中根遍历非递归算法,其它留做思考(提示)
?遍历算法的实际应用 ?讲解遍历算法的应用例子(教材)
?课时小结
1.3 第3次课(2学时)
上次课介绍的遍历可看出,访问某个结点指定遍历次序下的前驱、后继可以通过遍历的方法。
能否有简便的方法呢?
1、增加结点的指针域,用来指向它在某种遍历次序下的前驱和后继
2、利用二叉树中结点的空指针域,使得这些指针域指向它可能存在的前驱和后继。
? 提出线索二叉树
? 介绍线索二叉树的逻辑和存储示意图
? 讲解如何实现线索(线索二叉树的算法)
1、讲解中序线索二叉树
2、提出问题:如何实现非递归算法
? 线索二叉树的遍历
1、线索下的遍历 + 对比非线
2、查找结点(指定值前驱、后继、实现) + 索二叉树
? 课时小结
1.4 第4次课(2学时)
二叉树只是树的特例,现实中很多事物需要用树来描述或者用多棵树(森林)表示。由于我们已经在二叉树上进行了很多研究,能否将树或森林的问题转换成二叉树的问题呢?
? 提出树和森林转换成对应二叉树
? 首先介绍树的存储表示(三种方式)
? 介绍树、森林转换成对应的二叉树算法(抽象算法,不依赖具体存储结构)
? 二叉树还原成对应的树和森林(二叉树转换成对应的树和森林的算法)
? 回顾 二叉树有遍历的定义
? 定义树和森林的遍历(对比二叉树遍历的定义,无中根遍历)
? 树和森林的遍历算法
? 对比分析树或森林与其对应的二叉树遍历的对应关系
? 课时小结
1.5 第5次课(2学时)
通过前几节课内容的学习,基本上已经完成介绍树和二叉树的内容,下面介绍二叉树的一个特殊应用,也是一种特殊
文档评论(0)