在AVL-Tree中,为什么在删除时需要多一种轮换的表现?

In AVL-Tree, why needs more one performance of rotation in deletion?

设 z 为第一个不平衡节点。

在删除中,我们在z处进行了一次旋转之后,可能还要在z的祖先处进行一次旋转。因此,我们必须继续追踪路径,直到到达根。http://www.geeksforgeeks.org/avl-tree-set-2-deletion/

但为什么 z 的祖先可能需要轮换?

这是因为子树可能变短了,这可能会在任何级别违反 AVL 条件。举个例子

              5
      2               8
   1     3         7     10
           4      6    9    11
                              12

删除 1 后,需要在 2 和 5 进行旋转。