理想的树木结构高度

时间:2014-05-28 19:55:16

标签: data-structures tree binary-tree

如何计算树形结构的理想高度?

当我有这棵树的时候 Tree

我知道身高是4

有一个公式表明树的理想高度是2 ^ height - 1,但这对我来说没有意义(因为它会是15)。

有人可以解释一下吗?

3 个答案:

答案 0 :(得分:2)

嗯,首先,该公式仅适用于二叉树。其次,树中理想的节点数将为2^height-1。对于高度为4的饱和二叉树,节点数将为15

答案 1 :(得分:0)

该公式适用于可包含在该高度的二叉树中的最大节点数。假设您希望树尽可能浅,您希望在给定节点数的情况下知道这棵树的最小高度。所以你只需反转:

nodes = 2^height - 1

获取

height = log2(nodes + 1)

向上舍入。

答案 2 :(得分:-1)

树的高度是树中所有节点之间的最大高度。现在说你有一棵树

                                         1
                                       /   \
                                       2    3
                                      /  \  / \
                                      4  5  6  7

树的高度为3(因为所有路径长度相同所以说1-2-5是最大的)现在因为有三个级别所以每个级别没有节点

                                          1         =2^0
                                       /   \   
                                       2    3      =2^1
                                      /  \  / \
                                      4  5  6  7    =2^2

总= 2 ^ 0 + 2 ^ 1 + 2 ^ 2 =显然是一个总和为2 ^ 3-1的gp,因此节点数= 2 ^ height-1 如果你谈论水平(从0开始)没有节点= 2 ^(水平+ 1)-1