证明具有n个叶子的二叉树的高度至少为log

时间:2018-05-14 05:22:34

标签: binary-tree proof

我知道高度为h的二叉树中的叶子数量最多为2^h,我也知道如何使用归纳来证明这一点。我从哪里开始?

我发现this以前回答的问题,但这对我没有任何意义,因为我不明白定理部分中的矛盾证据与二叉树的高度有什么关系至少log(n)。我期待他谈论log(n)与叶子和身高的数量有什么关系,但他继续讨论如何使用n = 2^a + b通过矛盾来证明。

任何人都可以帮助我理解我们如何证明具有n片叶子的BT的高度至少为log n?

2 个答案:

答案 0 :(得分:2)

考虑二叉树,让h为其高度,n为其叶数。

用你的第一句话n <= 2^h。在两侧采用对数基数2(由于对数是单调的,因此保留了不等式),我们得到log(n) <= h。这会立即为您提供所需内容:高度至少为log(n),其中n为树叶数。

答案 1 :(得分:1)

因此,您知道二叉树具有以下属性:

n&lt; = 2 ^ h

现在你可以在两边使用一个日志,因为两者都是正面的,从数学的角度来看就是这样。

为了更好地理解它,您可以执行以下操作: 如果你有一棵未满的树,你可以为一片实际叶子交换2片叶子(因为可能有2个孩子)。因此,任何给定高度的叶子的最大数量是一个完整的树,它有2 ^ h叶子或log(n)高度。