《08级第0章树和二叉树A》-课件.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.2.2 二叉树的性质 (3+2) * 6.2.1 二叉树的定义 定义:是n(n≥0)个结点的有限集合,由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成 。 逻辑结构: 一对二(1:2) 基本特征: ① 每个结点最多只有两棵子树(不存在度大于2的结点); ② 左子树和右子树次序不能颠倒。 问:具有3个结点的二叉树可能有几种不同形态? 有5种 基本形态: 一般的树有几种? * 二叉树的抽象数据类型定义(见教材P121-122) ADT BinaryTree{ 数据对象D: 数据关系R: 基本操作 P: }ADT BinaryTree D是具有相同特性的数据元素的集合。 若D=Φ,则R= Φ ; 若D≠Φ,则R= {H};存在二元关系: ① root 唯一 //关于根的说明 ② Dj∩Dk= Φ //关于子树不相交的说明 ③ …… //关于数据元素的说明 ④ …… //关于左子树和右子树的说明 //至少有20个,如返回某结点的左孩子,或中序遍历,等等 * 讨论1:第i层的结点数最多是多少? (利用二进制性质可轻松求出) 性质1: 在二叉树的第i层上至多有2i-1个结点(i0)。 性质2: 深度为k的二叉树至多有2k-1个结点(k0)。 再提问:第i层上至少有 个结点? 1 讨论2:深度为k的二叉树,最多有多少个结点? (利用二进制性质可轻松求出) 2i-1个 2k-1个 * 3. 深度为9的二叉树中至少有 个结点。 A)29 B)28 C)9 D)29-1 2.深度为K的二叉树的结点总数,最多为 个。 A)2k-1 B) log2k C) 2k-1 D)2k 1. 树T中各结点的度的最大值称为树T的 。 A) 高度 B) 层次 C) 深度 D) 度 D C C 课堂练习: * 性质3: 对于任何一棵二叉树,若2度的结点数有n2个,则叶子数(n0)必定为n2+1 (即n0=n2+1) 证明: ∵ 二叉树中全部结点数n=n0+n1+n2(叶子数+1度结点数+2度结点数) 又∵二叉树中全部结点数n=B+1 ( 总分支数+根结点 ) (除根结点外,每个结点必有一个直接前趋,即一个分支) 而 总分支数B= n1+2n2 (1度结点必有1个直接后继,2度结点必有2个) 三式联立可得: n0+n1+n2= n1+2n2 +1, 即n0=n2+1 物理意义:叶子数=2度结点数+1 讨论:二叉树的叶子数和度为2的结点数之间有关系吗? * 完全二叉树:深度为k 的、有n个结点的二叉树,当且仅当其每一个结点都与深度为k 的满二叉树中编号从1至n的结点一一对应。 A O B C G E K D J F I H N M L 深度为4的满二叉树 完全二叉树 A B C G E I D H F J 为何要研究这两种特殊形式? 因为它们在顺序存储方式下可以复原! 讨论:满二叉树:一棵深度为k 且有2k -1个结点的二叉树。 (特点:每层都“充满”了结点) 刘解释:完全二叉树的特点是只有最后一层叶子不满,且全部集中在左边。但这其实是顺序二叉树的含义。而图论中的“完全二叉树”是指n1=0的情况。 满二叉树和完全二叉树有什么区别? 答:满二叉树是叶子一个也不少的树,而完全二叉树虽然前k-1层是满的,但最底层却允许在右边缺少连续若干个结点。满二叉树是完全二叉树的一个特例。 * 性质4: 具有n个结点的完全二叉树的深度必为?log2n?+1 性质5: 对完全二叉树,若从上至下、从左至右编号,则编号为i 的结点,其左孩子编号必为2i,其右孩子编号为2i+1;其双亲的编号必为i/2(i=1 时为根,除外)。 证明:根据性质2,深度为k的二叉树最多只有2k-1个结点,且完全二叉树的定义是与同深度的满二叉树前面编号相同,即它的总结点数n位于k层和k-1层满二叉树容量之间, 即 2k-1-1n≤2k-1 或2k-1≤n2k 三边同时取对数,于是有:k-1≤log2nk 因为k是整数,所以k=?log2n? +1 可根据归纳法证明。 对于两种特殊形式的二叉树(满二叉树和完全二叉树),还特别具备以下2个性质: * 一棵完全二叉树有1000个结点,则它必有

您可能关注的文档

文档评论(0)

沙卡娜 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档