二叉树的最小高度

时间:2016-04-11 20:39:33

标签: data-structures binary-tree

我正在学习二叉树。因此,对于n个元素,最小高度为h = ceiling(log(n+1)) - 1,我从n = 2^(h+1) - 1得到了这个计算方法,但我不明白为什么 ceiling 函数被使用了..我得到n的大多数值,log(n+1)是真的,所以我必须使用函数使它成为一个整数,但为什么 ceiling 而不是 floor

1 个答案:

答案 0 :(得分:2)

考虑一下n = 2的情况.log(3)介于1和2之间。如果我们下降,则会出现1-1 = 0,这是不正确的。如果我们上限,我们得到2-1 = 1,这是正确的。

如果它对您有所帮助,您可以将其视为需要将部分级别舍入到整个级别,因为它们仍然会计入树的高度。