二叉树的性质总结.docVIP

  • 8
  • 0
  • 约3.14千字
  • 约 3页
  • 2020-08-06 发布于河北
  • 举报
一、二叉树的性质 性质1、二叉树的第i层上至多有2 i-1(i 31)个结点。用数学归纳法证明 推广:k叉树(或度为k的树)的第i层上至多有k i-1(i 31)个结点 性质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+1 推广: 度为k的树有n1个度为1的结点, n2个度为2的结点,nk个度为k的结点则n0为: ? ? k i=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 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 (k-1) n £ k h-1 k h-1 £ (k-1) n k h 取对数有:h -1 £ logk(k-1) n h 因为h是整数,所以h -1 = ? logk(k-1) n ? , h= ? logk(k-1) n ? +1 性质5、设完全二叉树共有n个结点。如果从根结点开始,按层序(每一层从左到右)用自然数1,2,3……,n给结点进行编号,则对于编号为k(k=1,2,……n)的结点有以下结论: (1)若k=1,则该结点为根结点,它没有双亲结点;若k1,则该结点的双亲结点编号为 [k/2 ] 。 (2)若2k=n,则编号为k的左孩子结点编号为2k;否则该结点无左孩子结点(显然也没有右孩子结点)。 (3)若2k+1=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=n=ik+1成立,因i是整数,故结点n的双亲i的编号为?n-2)/k?+1。 (3) 结点n(n1)的前一结点编号为n-1(其最右边子女编号是(n-1)*k+1),故结点 n的第 i个孩子的编号是(n-1)*k+1+i。 (4) 根据以上分析,结点n有右兄弟的条件是,它不是双亲的从右数的第一子女,即 (n-1)%k!=0,其右兄弟编号是n+1。 二:满二叉树: 一棵深度为k且有2k-1个结点的二叉树 特点:每一层上都含有最大结点数。叶子

文档评论(0)

1亿VIP精品文档

相关文档