第5章树教案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章树教案.doc

第5章 树 讲课提要 【主要内容】 1.树的定义及基本术语 2.二叉树 3.遍历二叉树 4.线索二叉树 5.树和森林 6.哈夫曼树 【教学目标】 1. 掌握树的定义及基本术语 2. 掌握二叉树的定义、性质及存储结构,理解树和二叉树的差别在中序线索化树上找给定结点的前驱和后继的方法 解: (1)叶子结点有:B、D、F、G、H、I、J。 (2)非终端结点有:A、C、E。 (3)每个结点的度分别是:A的度为4,C的度为2,E的度为3,其余结点的度为0。 (4)树的深度为3。 3.理解二叉树的递归定义及其与树的区别 二叉树(Binary Tree)是结点的有限集合,这个集合或者为空,或者是由一个根结点和两棵互不相交的分别称为左子树和右子树的二叉树组成。二叉树中的每个结点至多有两棵子树,且子树有左右之分,次序不能颠倒。 二叉树是一种重要的树型结构,但二叉树不是树的特例。二叉树的 5 种形态分别为:空二叉树,只有根结点的二叉树,根结点和左子树,根结点和右子树,根结点和左右子树。 二叉树与树的区别:二叉树中每个结点的孩子至多不超过两个,而树对结点的孩子数无限制;另外,二叉树中结点的子树有左右之分,而树的子树没有次序。 【例5-2】一棵度为2的树与一棵二叉树有什么区别? 解:度为2的树有两个分支,但分支没有左右之分;一棵二叉树也有两个分支,但有左右之分,左右子树的次序不能交换。 【例5-3】树与二叉树有什么区别? 解:区别有两点: (1)二叉树的一个结点至多有两个子树,树则不然; (2)二叉树的一个结点的子树有左右之分,而树的子树没有次序。 【例5-4】分别画出具有3个结点的树和三个结点的二叉树的所有不同形态。 解:如图5-2(a)所示,具有3个结点的树有两种不同形态。 如图5-2(b)所示,具有3个结点的二叉树有以下五种不同形态。 4.掌握满二叉树和完全二叉树的概念 满二叉树(Full Binary Tree)和完全二叉树(Complete Binary Tree),是两种特殊形态的二叉树。 一棵深度为k且有2k -1个结点的二叉树称为满二叉树。 深度为k,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。 完全二叉树的特点是: (1)只允许最后一层有空缺结点且空缺在右边,即叶子结点只能在层次最大的两层上出现; (2)对任一结点,如果其右子树的深度为j,则其左子树的深度必为j或j+1。 5.理解二叉树的性质 已知二叉树的深度h可求出该二叉树拥有的最多结点数,已知结点数n可求出对应树或二叉树的最大和最小高度。 性质1.在二叉树的第i层上最多有2i-1个结点(i≥1)。 性质2.深度为k的二叉树最多有2k -1个结点(k≥1)。 性质3.对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0= n2+1。 性质4.具有n个结点的完全二叉树的深度为+1。 性质5.如果对一棵有n个结点的完全二叉树(其深度为+1,其中k为不大于的最大整数)的结点按层序编号(编号方法为从第1层到最后一层,每一层从左到右),则对任一结点i(1≤i≤n),有 (1)如果i=1,则结点i是二叉树的根,无双亲;如果i1,则其双亲是第个结点。 (2)如果2in,则结点i无左孩子(即结点i为叶子结点) 解:设度为0的结点(即终端结点)数目为n0,树中的分支数为B,树中总的结点数为N,则有: (1)从结点的度考虑: N= n0+ n1+ n2+……+nm (2)从分支数目考虑:一棵树中只有一个根结点,其他的均为孩子结点,而孩子结点可以由分支数得到。所以有: N=B+1=0×n0+1×n1+2×n2+…+m×nm+1 由以上两式,可得 n0+ n1+ n2+……+nm=0×n0+1×n1+2×n2+…+m×nm+1 从而可导出叶子结点的数目为: n0=0×n1+1×n2+…+(m-1)×nm+1=1+ 从而可以得到非终端结点的数目为 N- n0= n1+ n2+……+nm= 【例5-6】一棵含有n个结点的k叉树,可能达到的最大深度和最小深度各为多少? 解:(1)当k叉树中只有一层的分支数为k,其它层的分支数均为1时,此时的树具有最大的高度,为:n-k+1。 (2)当该k叉树为完全k叉树时,其深度最小。参照二叉树的性质4可知,其深度为: +1。 【例5-7】证明任何一棵满二叉树T中的分支数B满足B=2(n0-1)(其中n0为叶子结点数)。 证明: ∵T为满二叉树 ∴不存在度为1的结点 设该二叉树中总的结点数为n,度为2的结点总数为n2,分支数为B 则有n=n0+ n2 ① 又∵除了根结点外,其余n-1个结点都有一个分支进入,即有n个结点的二叉树共有n-1条

文档评论(0)

changlipo2019 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档