【问题标题】:Not understanding the recurrence formula of n nodes with a height h in an AVL tree to show h <= 2 log n不理解 AVL 树中高度为 h 的 n 个节点的递归公式以显示 h <= 2 log n
【发布时间】:2015-12-24 00:06:07
【问题描述】:

我知道公式是:n(h) = n(h-1) + n(h-2) + 1

而且我知道它可以简化为:

n(h) = n(h-1) + n(h-2) + 1  
    >= n(h-2) + n(h-2) + 1  
    >= 2n(h-2) + 1
    >= 2n(h-2)

在这一步之后,我不明白这里会出现重复。我正在网上阅读一个证明,他们这样做了:

>= 2n(h-2)
>= 2(2n(h-4))
>= 2(2(2n(h-6)))

我不明白那个块。为什么每一步都乘以 2,为什么每次从高度中减去 2?我无法想象它或其他东西。然后剩下的证明显示:

>=(2^i)n(h-2i)

我了解他们如何根据模式得到答案,并且我可以解决其余的证明,但我不明白如何选择递归模式。我希望我说得通。如果有人能为我澄清这一点,我将不胜感激!

【问题讨论】:

    标签: recursion avl-tree recurrence proof


    【解决方案1】:

    鉴于n(h) &gt;= 2n(h-2) 对所有h,我们也可以对h-2 应用同样的不等式。这会给我们:

    n(h-2) >= 2n(h-2-2)
    

    相同
    n(h-2) >= 2n(h-4).
    

    如果我们现在再次为h-4 应用它(就像我们为h-2 所做的那样),我们得到

    n(h-4) >= 2n(h-4-2) = 2n(h-6).
    

    现在我们可以将最后两个不等式替换为第一个:

    n(h) >= 2n(h-2) >= 2(2n(h-4)) >= 2(2(2n(h-6)))
    

    等等……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      相关资源
      最近更新 更多