证明avl树中的最小节点数

时间:2015-02-11 14:48:57

标签: nodes min avl-tree

如何证明高度为 h 的avl树中的最小节点数 (5 + 2 * 5 ^(1/2))*((((1 + 5 ^(1/2))/ 2)^ h)+(5-2 * 5 ^(1/2) )*((((1-5 ^(1/2))/ 2)1 H)-1

1 个答案:

答案 0 :(得分:1)

假设高度为h的根节点有两个子树。这两个子树高度中的一个必须是h-1。 AVL树的结构迫使另一个子树的高度至少为h-2。因此,一个子树具有最小可能的节点数,另一个具有最大可能的节点数。 所以我们得到以下递归规则:n(0)= 1,n(1)= 2,n(h)= n(h-1)+ n(h-2)+1其中n(h)是最小值高度= h的节点数。

这种复发非常接近Fibonacci序列。计算Fibonacci序列的精确公式得到F(n)=(φ^ n - hat(φ)^ n)/ sqrt(5)其中φ=(1 + sqrt(5))/ 2和hat(φ)= (1-SQRT(5))/ 2。

这应该让我们知道如何继续。 我认为在这里做一些数学会引导你找到答案。