木の回転
木を回転させるとき、回転方向の部分木は高さが増え、反対方向の部分木は高さが減る。これを利用して木の平衡をとることができる。
回転させる(部分)木の根ノードを Root とし、新たな根ノードとなるノードを Pivot とする。各ノードの回転する方向の子ノードを指しているフィールドを RS、反対方向の子ノードを指しているフィールドを OS とする。たとえば、上の図の根ノード Q の RS は C、OS は P である。回転の擬似コードは次のようになる。
したがって、木の回転は定数時間の処理である。回転させたのが部分木なら、その親ノードが新たな根ノードを指すようにしなければならない。