问题查找包含n个节点的完整二叉树中的叶节点数。
我为上述问题编写了一个递归程序,每当我到达一个没有子节点的节点时,遍历树并增加叶子节点的数量。但由于树是一个完整的二叉树,我认为它会使问题更容易,但我无法弄清楚如何。它可以以紧凑的形式(如公式)减少。
答案 0 :(得分:5)
具有n个节点的完整二叉树中的叶节点数等于(n + 1)/ 2.
Refrence以上公式。
答案 1 :(得分:0)
从1个叶节点开始,每个分支步骤将创建2个新的叶节点,并且一个叶节点变成一个内部节点(对于树中+1叶子的网络)。因此,该树有2b + 1个节点,b个内部节点,b + 1个叶子,其中b是分支数。
n = 2b + 1
b =(n-1)/ 2