已知节点数为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,并且最下一层的叶结点集中在靠左的若干位置上。这样的二叉树称为完全二叉树。
特点:叶子结点只能出现在最下层和次下层,且最下层的叶子结点集中在树的左部