微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这个 RBT 如何被认为是平衡的?

如何解决这个 RBT 如何被认为是平衡的?

我一直在玩 RBT 可视化工具,但不明白如何将以下内容视为高度平衡的。维基百科文章声称,如果满足 RBT 属性,则最远叶子的高度不大于最近叶子高度的两倍。根据我的理解,即使满足 RBT 属性(1 的深度为 1,6 的深度为 3),以下内容也会违反此属性。我的逻辑哪里有问题?

enter image description here

解决方法

来自the Wikipedia article

红黑树的叶节点(图1中的 NIL )不包含键或数据。这些“叶子”不需要是计算机内存中的明确个体:空指针可以——就像在所有二叉树数据结构中一样——编码在(父)节点的这个位置没有子节点的事实。然而,根据它们在树中的位置,这些对象与其他节点相关......

您在问题中包含的图表省略了这些 NIL 节点,但它们与确定平衡相关。使用你描述的规则(“从根到最远叶子的路径不超过从根到最近叶子的路径的两倍”),从根到最远叶子的路径最近叶子的距离是 2(不是 1),从根到最远叶子的路径是 4(不是 3)。

因为四不超过二的两倍,这棵树符合“平衡”规则。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。