【发布时间】:2016-04-01 14:42:11
【问题描述】:
问题求n个节点的满二叉树的叶子节点个数。
我为上述问题编写了一个递归程序,遍历树并在到达没有子节点时增加叶节点的数量。但是由于这棵树是一棵完整的二叉树,我认为它会使问题变得更容易,但我不知道如何解决。是否可以简化为紧凑形式(类似于公式)。
【问题讨论】:
标签: tree binary-tree
问题求n个节点的满二叉树的叶子节点个数。
我为上述问题编写了一个递归程序,遍历树并在到达没有子节点时增加叶节点的数量。但是由于这棵树是一棵完整的二叉树,我认为它会使问题变得更容易,但我不知道如何解决。是否可以简化为紧凑形式(类似于公式)。
【问题讨论】:
标签: tree binary-tree
您从 1 个叶节点开始,每个分支步骤创建 2 个新叶节点,一个叶节点变成一个内部节点(对于树中 +1 个叶的网络)。所以树有2b+1个节点,b个内部节点,b+1个叶子,其中b是分支数。
n = 2b+1
b = (n-1)/2
【讨论】:
n个节点的满二叉树的叶子节点数等于(n+1)/2。
Refrence 以上公式。
【讨论】: