设一棵完全二叉树有100个叶子结点,则在该二叉树中的叶子结点数为
如果是100个结点,如下:
设二叉树中度为0、1、2的结点个数分别为n0,n1,n2
因此n0 + n1 + n2 = 100
按照二叉树的性质n0 = n2 + 1,代入得
2n2 + 1 + n1 = 100
因为完全二叉树中度为1的结点个数最多1个
为满足上式,也只有n1 = 1
因此n2 = 49
所以叶子结点个数n0 = 50个
扩展资料
判断一棵树是否是完全二叉树的思路
1、如果树为空,则直接返回错
2、如果树不为空:层序遍历二叉树
(1)如果一个结点左右孩子都不为空,则pop该节点,将其左右孩子入队列;
(2)如果遇到一个结点,左孩子为空,右孩子不为空,则该树一定不是完全二叉树;
(3)如果遇到一个结点,左孩子不为空,右孩子为空;或者左右孩子都为空;则该节点之后的队列中的结点都为叶子节点;该树才是完全二叉树,否则就不是完全二叉树。
如果是100个结点,如下:
设二叉树中度为0、1、2的结点个数分别为n0,n1,n2
因此n0 + n1 + n2 = 100
按照二叉树的性质n0 = n2 + 1,代入得
2n2 + 1 + n1 = 100
因为完全二叉树中度为1的结点个数最多1个
为满足上式,也只有n1 = 1
因此n2 = 49
所以叶子结点个数n0 = 50个
扩展资料:
一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点,则此二叉树为完全二叉树。
具有n个节点的完全二叉树的深度为floor(log2n)+1。深度为k的完全二叉树,至少有2k-1个节点,至多有2k-1个节点。
如果是100个结点,如下:
设二叉树中度为0、1、2的结点个数分别为n0,n1,n2
因此n0 + n1 + n2 = 100
按照二叉树的性质n0 = n2 + 1,代入得
2n2 + 1 + n1 = 100
因为完全二叉树中度为1的结点个数最多1个
为满足上式,也只有n1 = 1
因此n2 = 49
所以叶子结点个数n0 = 50个
一共200个指针域;(每个节点都有一个左孩子和一个右孩子)
有100-1=99个枝(根节点头上没有枝)
所以一共有200-99=101个空指针域
所以有50个左、右孩子都为空的节点
即得出有50个叶子结点