插入17 Mar 2025 | 阅读 2 分钟 AVL 树的插入方式与二叉搜索树相同。新节点被添加为 AVL 树的叶节点。然而,这可能导致 AVL 树属性的违反,因此可能需要对树进行平衡。 可以通过执行旋转来平衡树。仅当插入新节点后任何节点的平衡因子被扰动时才需要旋转,否则则不需要旋转。 根据插入的类型,旋转可分为四类。
问:按给定顺序插入以下元素,构建一个 AVL 树。63, 9, 19, 27, 18, 108, 99, 81 从给定元素构建 AVL 树的过程如图所示。 每一步,我们都必须计算每个节点的平衡因子,如果发现其大于 2 或小于 -2,则需要进行旋转来重新平衡树。旋转的类型将根据插入的元素相对于关键节点的位置来估计。 所有元素都按顺序插入,以保持二叉搜索树的顺序。 ![]() 下一个主题双向链表 |
LL旋转 下图所示的树是AVL树,但是我们需要将一个元素插入到A的左子树的左侧。该树可能因关键节点A的存在而不平衡。平衡因子不在此范围内的节点...
阅读1分钟
RL旋转 如果新节点插入到关键节点A的右子树的左侧,则执行RL旋转。我们以节点B作为关键节点右子树的根节点,节点C作为根节点...
阅读1分钟
LR旋转 如果新节点插入到节点A的左子树的右侧,则执行LR旋转。在LR旋转中,节点C(如图所示)成为树的根节点,而节点B和A成为...
阅读1分钟
从 AVL 树中删除节点与在二叉搜索树中删除节点类似。删除可能会破坏 AVL 树的平衡因子,因此需要重新平衡树以保持 AVL 性。为此,我们需要...
阅读 3 分钟
算法 删除 步骤1 开始 步骤2 存储要删除的元素 步骤3 执行BST以插入第一个元素 步骤4 遍历到不平衡节点(z)的位置,然后转到步骤5 步骤5 检查节点的位置,其中y是z的较高高度的子节点,并且...
阅读 6 分钟
RR旋转 如果节点插入到节点A的右子树的右侧,并且树变得不平衡,则在这种情况下,将执行RR旋转,如图所示。在旋转过程中,节点B成为根...
阅读1分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India