二叉树节点推导(一)

 已知节点数为767个的完全二叉树,叶子节点是多少?

若n为总节点数

n0为 度为0的节点数

n1为 度为1的节点数

n2为 度为2的节点数

n=n0+n1+n2

n0=n2+1

所以 n =  2n0+n1-1  =767

又因为完全二叉树度为1 的有0 或 1 个

n=2n0 或者 n =2n0-1 

767不能被2整除,所以 2n0 = 768 所以 n0为384,叶子节点384个

二叉树结点计算问题
设一棵满二叉树中,度为2的结点数为7,则二叉树的全部结点可能为多少?

只有一个答案啊,因为二叉树中n0 = n2 + 1,现在度为2的结点个数是7,所以度为0的结点(也就是叶子)个数为8,并且满二叉树中没有度为1的结点,因此二叉树的全部结点个数为15

 深度为k的二叉树,最多有2^k-1个节点。(满二叉树情况,减去根节点)

证明二叉树的第i层上至多有2的i-1次方个结点

第1层1个,为2^(1-1)
二叉树每个结点至多2个孩子,因此
第二层最多2 *1 = 2^(2-1)
第三层最多2*2= 2^(3-1)
....
第i层上至多有2的i-1次方个结点

 具有 n 个结点的完全二叉树的深度        (注:[ ]表示向下取整)

深度为k的二叉树的节点总数最多为1+2+4+..+2^(k-1)=2^k-1
则设n个节点的二叉树深度为m,2^m-1>=n
m>=log2(n+1)>log(2n),由于m是整数
m>=[log2n]+1

  对任意的一颗二叉树 T ,若叶子结点数为 n0,而其度数为 2 的结点数为 n2,则 n0 = n2+1

解答:设:节点总数是K+1 =n0+n1+n2

度总数是 K = 2n2+n1

              n2-n0+1=0

            得出结论: n0=n2+1

 如果有一颗有n个节点的完全二叉树的节点按层次序编号,对任一层的节点i(1<=i<=n)有

                        (1).如果i=1,则节点是二叉树的根,无双亲,如果i>1,则其双亲节点为[i/2],向下取整

                        (2).如果2i>n那么节点i没有左孩子,否则其左孩子为2i

                        (3).如果2i+1>n那么节点没有右孩子,否则右孩子为2i+1

 完全二叉树

定义:一棵二叉树中,只有最下面两层结点的度可以小于2,且最下一层的叶结点集中在靠左的若干位置上。这样的二叉树称为完全二叉树。
特点:叶子结点只能出现在最下层和次下层,且最下层的叶子结点集中在树的左部

原文地址:https://www.cnblogs.com/yizhizhangBlog/p/10635099.html