k叉树的性质_二叉树的性质总结.doc

《二叉树的性质总结.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《二叉树的性质总结.doc》文档请在天天文库搜索。

1、一、二叉树的性质性质1、二叉树的第i层上至多有2 i-1(i ³1)个结点。用数学归纳法证明推广:k叉树(或度为k的树)的第i层上至多有k i-1(i ³1)个结点性质2、度为h的二叉树中至多含有2h-1个结点。21-1 + 2 2-1+……+ 2 h-1 = 2 h-1 推广:深度为h的k叉树(或度为k的树)中至多含有 (k h-1)/(k-1)个结点 k1-1 + k 2-1+……+ k h-1 =( k h-1)/(k-1)性质3、若在任意一棵二叉树中,有n0个叶子结点, 有n2个度为2的结点,则:n0=n2+1证明:设:有n0个叶子结点,有n1个度为1的结点,有n2个度为2的结点, 则二叉树中结点总数为:n=n0+n1+ n2 (1)设分支的总数为m,则:m= n1+2 n2 (2) 因为n=m+1(3)所以: n0+n1+ n2 = n1+2 n2 +1 整理得: n0= n2。

2、+1 推广: 度为k的树有n1个度为1的结点, n2个度为2的结点,nk个度为k的结点则n0为: åki=1( i- 1)ni+1性质3推广的证明于性质3的证明设:有n0个叶子结点,有n1个度为1的结点, n2个度为2的结点,nk个度为k的结点 则结点总数为:n=n0+n1+ n2 +……+nk(1)设分支的总数为m,则:m= n1+2 n2+……+knk 因为n=m+1(3)所以:n0+n1+ n2 +……+nk = n1+2 n2+……+knk +1 整理得: n0= 0n1+1n2+……+(k-1)nk+1性质4、具有n个结点的完全二叉树,其深度为ë㏒2nû+1证明:设n个结点的完全二叉树的深度为k,根据性质2可知,k-1层满二叉树的结点总数为: 2k-1-1 k层满二叉树的结点总数为: 2k-1 显然有: 2k-1 - 1 < n £ 2k- 1 [ 2k- 1 £ n &l。

3、t; 2k 取对数有:k -1 £ log2n < k因为k是整数,所以k -1 = ëlog2nû , k= ë㏒2nû+1结论成立。推广: 具有n个结点的完全k叉树,其深度为ë logk(k-1) n û +1设n个结点的完全k叉树的深度为h,根据性质2推广可知,h-1层满k叉树的结点总数为:(k h-1-1)/(k-1) h层满二叉树的结点总数为:(k h-1)/(k-1) 显然有: (k h-1-1)/(k-1) < n £ (k h-1)/(k-1) k h-1-1

4、<=n,则编号为k的右孩子结点编号为2k+1;否则该结点无右孩子结点推广:一个深度为L的满K叉树有以下性质:第L层上的结点都是叶子结点,其余各层上每个结点都有K棵非空子树,如果按层次顺序从1开始对全部结点进行编号,求:1)各层的结点的数目是多少? 2)编号为n的结点的双亲结点(若存在)的编号是多少?3)编号为n的结点的第i 个孩子结点(若存在)的编号是多少?4)编号为n的结点有右兄弟的条件是什么?如果有,其右兄弟的编号是多少?答:(1)kh-1(h为层数)(2)因为该树每层上均有Kh-1个结点,从根开始编号为1,则结点i的从右向左数第2个孩子的结点编号为ki。设n 为结点i的子女,则关系式(i-1)k+2<=n1)的前一结点编号为n-1(其最右边子女编号是(n-1)*k+1),故结点 n的第 i个孩子的编号是(n-1)*k+1+i。(4) 根据以上分析,结点n有右兄弟的条件是,。

5、它不是双亲的从右数的第一子女,即 (n-1)%k!=0,其右兄弟编号是n+1。二:满二叉树:一棵深度为k且有2k-1个结点的二叉树特点:每一层上都含有最大结点数。叶子结点在同一层次上;无度为1的结点具有n个结点的满二叉树则 叶子结点的个数为:(n+1)/2 度为2的结点的个数为:(n-1)/2三、无度为1的结点 1: 具有n个结点的无度为1的结点的二叉树,求叶子结点的个数 n1=0 n=n1+n2+n0=n0+n2+0 n= 2n0-1 n0=(n+1)/2 n2=(n-1)/22:若已知叶子结点个数n0求总的结点的个数n N=n0+n2=2n0-1四、完全二叉树:深度为k的有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中的编号从1至n的结点一一对应特点:除最后一层外,每一层都取最大结点数,最后一层结点都集中在该层最左边的若干位置。叶子结点在最后两层上,度为1的结点的个数最。

6、多为11:具有n个结点的完全二叉树,求叶子结点的个数 n是偶数: 则n1=1 n=n1+n2+n0=n0+n2+1 n= 2n0 n0=n/2 n2=n/2-1 n是奇数: 则n1=0 n=n1+n2+n0=n0+n2+0 n= 2n0-1 n0=(n+1)/2 n2=(n-1)/22:若已知完全二叉树叶子结点个数:求总的结点的个数 n=n0+n1+n2 n1=1 或n1=0 n2=n0-1 n最大为2n0,最小为2n0-13:若已知完全二叉树第k层上具有n个叶子结点,求最多的结点个数及最少的结点个数 最多的结点个数:共有k+1层 前k层共有2k-1个结点 k+1层: 第k+1层结点数最多为第k层的非叶子结点数乘以2;第k层的结点数为2k-1,叶子结点数为n, 非叶子结点数为(2k-1-n) ,所以第k+1层结点数最多为2(2k-1-n)个结点,所以最多结点数为2k-1+ 2(2k-1-n)最少的结点个数:共有k层 前k-1层具有2k-1-1个结点,k层有n个共有2k-1-1+n。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值