【问题标题】:Proving AVL trees can have children whose number of nodes aren't Θ of one another证明 AVL 树可以有节点数不是彼此的 Θ 的子节点
【发布时间】:2014-06-30 16:53:21
【问题描述】:

令T为左子树为TL,右子树为TR的AVL树。让我们 |TL|和 |TR|分别为左右子树的节点数。

我需要证明 |TR| ≠ Θ(|TR|) 反之亦然,但我不知道如何。我认为这与一棵树是完整的 AVL 树而另一棵树是最小的 AVL 树(斐波那契树)的情况有关,但我不知道从那里做什么。

【问题讨论】:

  • 如果我没记错的话,AVL树的根的左右子树的深度最多相差一个。此属性是在节点插入和删除期间由重新平衡操作维护的不变量。
  • 您只需要一个 AVL 树族,其中商 |TL| / |TR|趋于零或无穷大

标签: algorithm data-structures fibonacci avl-tree big-theta


【解决方案1】:

在高度为 h 的 AVL 树中,节点数介于 Fh+2 - 1 和 2h - 1 之间。第一个量是 Θ(φ h),第二个是 Θ(2h),其中 φ 是黄金比例,大约为 1.61。这意味着您可以构建 AVL 树,其中左子树中的节点数为 Θ(φh),右子树为 Θ(2h),这意味着左子树的节点比右子树的节点数渐近。然后可以左右反转,表明右子树也不能是左子树的Θ。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多