如何求解包含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?
答案 0 :(得分:3)
以下是公式n = 2 ^(h + 1)-1
的h的推导 n = 2^(h+1)-1
n + 1 = 2^(h+1)
取两边的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)给出。