右左(RL)旋轉

2019-10-18 00:56:21

如果將新節點插入關鍵節點A的右子樹的左側,則執行RL旋轉。思考一下,節點B是關鍵節點的右子樹的根,節點C是插入新節點的子樹的根。

T1A的左子樹的關鍵節點,T2T3分別為節點C的左右子樹,子樹T4為節點B的右子樹。

因為,RL旋轉是LR旋轉的映象。 在該旋轉中,節點C成為樹的根節點,其中AB分別作為其左和右子節點。 子樹T1T2成為A的左右子樹,而T3T4成為B的左右子樹。

RL旋轉的過程如下圖所示。

範例

將值為92的節點插入到下圖所示的樹中。

方案:

插入92擾亂了節點92的平衡因子,它成為關鍵節點A105,其中節點B95

RL旋轉中,C成為樹的根(如圖所示),其中節點A(90)B(105)分別作為其左和右子節點。樹旋轉如圖所示。