【问题标题】:Is this an AVL or Red-Black Tree?这是 AVL 还是红黑树?
【发布时间】:2021-03-02 09:38:44
【问题描述】:

我有一个简单的问题,主要是因为我的大脑不再关心我了。这可以被认为是 AVL 树吗?这也可以被认为是一棵红黑树吗?

我认为这不是 AVL 树,因为它看起来不平衡,但我不确定这是否正确。

出于同样的原因,我也不确定这是否是一棵红黑树。

【问题讨论】:

    标签: java tree binary-tree avl-tree red-black-tree


    【解决方案1】:

    根据维基百科,AVL trees 是一种自平衡二叉搜索树,其中从根到任意两个叶子的高度差最多为一个。在您的情况下,叶子“f”的高度与叶子“m”的高度之差为 2。因此,它不是 AVL 树。

    红黑树在它们的每个叶子中存储颜色信息,红色或黑色 - 我在您附加的树中看不到任何此类信息,因此它也不是 RB 树。

    编辑:

    根据 sprinter 的评论,这棵树可能是一棵没有显示颜色的 RB 树,因为到最深叶子的距离不超过到最浅叶子的距离的两倍。

    【讨论】:

    • 我会在答案的第二段中添加一点警告:rb 树的一个关键属性是从根到最深叶子的距离不超过到最浅的叶子。这棵树确实如此,因此它可能是未显示颜色的 rb 树。
    • 谢谢,我在看,看起来确实符合红黑树的参数
    • 好点@sprinter,我更新了答案以反映它。
    猜你喜欢
    • 2010-09-30
    • 2013-07-16
    • 2012-11-30
    • 2012-11-21
    • 2013-04-21
    • 2016-03-18
    • 2015-03-06
    • 2019-07-09
    • 2012-11-22
    相关资源
    最近更新 更多