完整二叉树的高度

时间:2015-10-18 04:19:12

标签: height binary-tree nodes equation-solving

如何求解包含n个节点的完整二叉树的高度的下面的等式?

N = 2 ^(H + 1)-1

我得到了答案,

             n = 2^(h+1)-1
n+(-2^(h+1)+1) = 2^(h+1)-1 + (-2^(h+1)+1)
   n-2^(h+1)+1 = 0
             h = ln(n+2)/ln(2)

这个方程求解是否正确?如果没有,如何从n = 2 ^(h + 1)-1方程得到h?

2 个答案:

答案 0 :(得分:3)

  1. 我们对完整的二叉树使用“Complete”,因此它被称为完整二叉树而不是完整二叉树。
  2. 以下是公式n = 2 ^(h + 1)-1

    的h的推导
        n = 2^(h+1)-1
    
        n + 1 = 2^(h+1)
    
  3. 取两边的log base 2(ln2)

            ln2(n+1) = ln2(2^(h+1))
    
            ln2(n+1) = h+1
    
            ln2(n+1) - 1 = h
    

            h = ln2(n+1) - 1
    

    我希望你做对了。宾果

    此外,我认为你对对数的属性并不熟悉。我会试着在这里为你解释一下。 ln2(8)读作log 8 base 2. ln2(8)答案3.如何计算?什么是2 ^ 3的答案?它是8.所以我们可以说取日志与获取权力相反。我们可以回答简单的日志问题,如ln3(9)=? ,因为3 ^ 2 = 9所以ln3(9)结果2.另一个例子ln10(100)= ?,我们知道10 ^ 2 = 100,所以ln10(100)= 2.你需要知道优秀的日志属性在数据结构和算法的过程中。它有很大帮助。

答案 1 :(得分:0)

对于二叉树,高度仅由log2(n)给出。