如何求解包含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?
如何求解包含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?
下面是h从公式推导N = 2 ^(H + 1)-1
n = 2^(h+1)-1
n + 1 = 2^(h+1)
以两侧的对数底2(LN 2)
ln2(n+1) = ln2(2^(h+1))
ln2(n+1) = h+1
ln2(n+1) - 1 = h
或
h = ln2(n+1) - 1
我希望你说得对。答对了。
此外,我认为你不太熟悉对数的性质。我会尽力在这里为你解释。 ln2(8)被读作日志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。你需要知道excel的log属性在数据结构和算法的过程中。它有很多帮助。
对于二叉树,高度仅由log2(n)给出。
也许你有一个微妙的错误。第一步将是'n + 1 = 2 ^(h + 1)'。现在你在等式的两边都应用log2,并且给出了你的结果 – lrleon
是的,这是我错误跳过的步骤。谢谢。 (n + 1)= ln2(2 ^(h + 1))','ln2(n + 1)= h + 1','ln2(n + 1)-1 = h' @Irelon – Awais
发生什么是我认为假设'log2(2 ^(h + 1)-1)=(h + 1) - 1'是棘手的,或许是不正确的。无论如何,我想知道你的论点 – lrleon