Data structures 请帮助我理解AVL树中的LR旋转

Data structures 请帮助我理解AVL树中的LR旋转,data-structures,rotation,avl-tree,Data Structures,Rotation,Avl Tree,今天我在研究数据结构中的AVL树,但在理解LR和RL旋转时陷入了困境。LL和RR旋转非常直观,很容易记住,但在我看来,LR和RL旋转不符合常识,所以我很难记住它们。这些旋转应该被填满还是有任何方法可以理解它们?西摩·利普舒茨(Seymoure Lipschutz)在《我正在阅读的数据结构》一书中说,LR旋转是RR旋转和LL旋转的组合。但我无法连接它。这是那本书中描绘的画面: 在第二张图片和最后一张图片之间发生了什么,请尽可能用这张图片解释。我认为,如果我理解LR,那么就会自动理解RL,因为两者都

今天我在研究数据结构中的AVL树,但在理解LR和RL旋转时陷入了困境。LL和RR旋转非常直观,很容易记住,但在我看来,LR和RL旋转不符合常识,所以我很难记住它们。这些旋转应该被填满还是有任何方法可以理解它们?西摩·利普舒茨(Seymoure Lipschutz)在《我正在阅读的数据结构》一书中说,LR旋转是RR旋转和LL旋转的组合。但我无法连接它。这是那本书中描绘的画面:


在第二张图片和最后一张图片之间发生了什么,请尽可能用这张图片解释。我认为,如果我理解LR,那么就会自动理解RL,因为两者都是彼此的镜像。

您不理解它,因为它不正确,如图所示。它甚至不是一个有效的二进制搜索树。37不能是76岁的大孩子,因为它比76岁的大

初始插入

└── 44
    ├── (L) 30
    │   ├── (L) 16
    │   └── (R) 39
    │       └── (L) 37
    └── (R) 76
在30:39向左旋转后,旋转到父对象的[30]点,39的子对象[37]成为30的子对象

└── 44
    ├── (L) 39
    │   └── (L) 30
    │       ├── (L) 16
    │       └── (R) 37
    └── (R) 76
在39:39的右旋转后,39位于树顶,44成为他的右孩子

└── 39
    ├── (L) 30
    │   ├── (L) 16
    │   └── (R) 37
    └── (R) 44
        └── (R) 76