gpt4 book ai didi

algorithm - 二叉搜索树可能会因旋转而损坏吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:54:37 27 4
gpt4 key购买 nike

我现在正在学习算法,在实现红黑树插入时,我想到了问题标题中描述的想法。当涉及到等值节点时,就会发生这种情况。

让我们从一个简单的示例树开始,其中左子节点小于父节点,右子节点大于或等于父节点。

这种树的初始状态可能如下:

start

然后,如果我向左旋转这棵树,我会得到:

enter image description here

违反所有左子节点都小于父节点的 BST 条件的节点以红色显示。


所以问题是:为什么许多在二叉搜索树上实现插入、删除或其他算法的算法在旋转破坏 BST 时使用旋转(或者我只是做错了旋转)?

最佳答案

问题是为什么要在满足所有条件时轮换 BST。您示例中的轮换不会以任何方式实现。在“许多算法”中,仅当“插入”或“删除”或“其他”生成违反 BST 属性的新树时才需要旋转。比方说,如果您将 6 替换为 8 作为 BST 的根,那么您的旋转现在就有意义了。

关于algorithm - 二叉搜索树可能会因旋转而损坏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49601436/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com