完整二叉树中的叶节点数

时间:2015-12-27 15:23:48

标签: tree binary-tree

问题查找包含n个节点的完整二叉树中的叶节点数。

我为上述问题编写了一个递归程序,每当我到达一个没有子节点的节点时,遍历树并增加叶子节点的数量。但由于树是一个完整的二叉树,我认为它会使问题更容易,但我无法弄清楚如何。它可以以紧凑的形式(如公式)减少。

2 个答案:

答案 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