一般的二叉搜索樹(BST)在插入和刪除數據的時候,直接在一定的位置添加和刪除節點,沒有應用使樹
平衡的調整策略,樹的高度不能得到有效控製,在極端的數據下可能退化為單鏈表從而降低二叉搜索樹的性能。為了
使二叉搜索樹更具有通用性,出現了AVL樹和紅黑樹這兩種平衡二叉樹,它們增、刪、查和普通的BST一致,但是使用
了四種基本的策略來保持樹的平衡,從而保證較高的查詢效率。這四種調整策略是LL調整、RR調整、LR調整、RL調整,
其中LL調整和RR調整對稱,LR調整和RL調整對稱。下麵使用圖形來展示這四種二叉搜索樹的平衡調整策略。
一、LL調整。如圖1所示,單向右旋,使A的左兒子B成為A的父節點。
二、RR調整。如圖2所示,單向左旋,使A的右兒子B成為A的父親節點。
三、LR調整。如圖3所示,先左旋後右旋,即,現將A的左兒子B的右兒子C單向左旋,使C成為B的父節點,然後將C單向右旋成為A的父節點
四、RL調整。如果4所示,先右旋後左旋,即,現將A的右兒子B的左兒子C單向右旋,使C成為B的父節點,然後將C單向左旋成為A的父節點。
參考文獻:《數據結構教程(第二版)》清華大學出版社