LL 旋转2025 年 3 月 17 日 | 阅读 1 分钟 下图所示的树是 AVL 树,但是,我们需要在 A 的左子树的左侧插入一个元素。由于关键节点 A 的存在,该树可能会失去平衡。 平衡因子不在 -1 和 1 之间的节点称为关键节点。 为了重新平衡树,将执行 LL 旋转,如下图所示。 节点 B 成为根节点,A 和 T3 分别作为其左子节点和右子节点。T1 和 T2 作为 A 的左子树和右子树。 ![]() 示例将值为 12 的节点插入下图所示的树中。 ![]() 解决方案12 将被插入到 25 的左侧,因此,这会破坏 AVL 树的 AVL 性。需要通过 LL 旋转来重新平衡树。 此时,关键节点 100 将向右移动,其左子树的根节点(B)将成为树的新根节点。 B 的右子树,即 T2(根节点为 75),将被放置在节点 A(值为 100)的左侧。 按照此过程,树将重新平衡,因此,插入 12 后生成的树将是 AVL 树。 ![]() 下一个主题双向链表 |
插入 AVL树的插入与二叉搜索树的插入方式相同。新节点作为叶节点添加到AVL树中。然而,这可能会导致AVL树属性的违反,因此...
阅读 2 分钟
LR旋转 如果新节点插入到节点A的左子树的右侧,则执行LR旋转。在LR旋转中,节点C(如图所示)成为树的根节点,而节点B和A成为...
阅读1分钟
算法 删除 步骤1 开始 步骤2 存储要删除的元素 步骤3 执行BST以插入第一个元素 步骤4 遍历到不平衡节点(z)的位置,然后转到步骤5 步骤5 检查节点的位置,其中y是z的较高高度的子节点,并且...
阅读 6 分钟
RR旋转 如果节点插入到节点A的右子树的右侧,并且树变得不平衡,则在这种情况下,将执行RR旋转,如图所示。在旋转过程中,节点B成为根...
阅读1分钟
从 AVL 树中删除节点与在二叉搜索树中删除节点类似。删除可能会破坏 AVL 树的平衡因子,因此需要重新平衡树以保持 AVL 性。为此,我们需要...
阅读 3 分钟
RL旋转 如果新节点插入到关键节点A的右子树的左侧,则执行RL旋转。我们以节点B作为关键节点右子树的根节点,节点C作为根节点...
阅读1分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India