满二叉树的高度

标签 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?

最佳答案

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

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

取两边以 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 以 2 为底。ln2(8) 回答 3. 它是如何计算的? 2^3的答案是什么?是 8。所以我们可以说,获取日志与获取权力相反。我们可以回答简单的日志问题,例如 ln3(9) = ? ,因为 3^2 = 9 所以 ln3(9) 结果 2。另一个例子 ln10(100) = ?,我们知道 10^2 = 100,所以 ln10(100) = 2。你需要知道对数属性才能表现出色在数据结构和算法类(class)中。这很有帮助。

关于满二叉树的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194262/

相关文章:

validation - 进行 Chef 客户端设置时出现 ssl 验证错误

python - 递归节点

css - 使用 jQuery 附加时,保持具有流体设计的 div 的相同宽度/高度比

javascript - 尝试修改此 JavaScript 代码以减小弹出窗口的大小或在用户单击框外时关闭

jquery - 使用 jquery .css 均衡两列的高度

html - 如何使用当前窗口高度的100%(不多也不少)?

swift - 如何在控制台中 “draw” 二叉树?

c - 检查二叉树的根是否存储了比所有子节点都大的函数

c++ - 尝试找到二叉树的深度

javascript - 如何检查变量是否是节点?