左回転

左回転とは、次のことを指します

木の回転

二分探索木において、左回転とは、ノードXを左下に移動させることです。この回転は、Xに右の子(またはサブツリー)があることを前提としています。Xの右の子であるRはXの親ノードとなり、Rの左の子はXの新しい右の子ノードとなります。この回転は、ツリーのバランスをとるために行われます。具体的には、ノードXの右のサブツリーの高さが左のサブツリーの高さよりも大幅に高い場合(ツリーの種類によって異なります)、この回転が行われます。

左回転(および右回転)は二分探索木において順序保存性を持ちます。つまり、二分探索木の特性(木を順序通りに走査することで、ノードのキーが適切な順序で得られる)が保存されます。AVL赤黒木は、左回転を用いる二分探索木の例です。

単一の左回転はO(1)時間で実行されますが、二分探索木におけるノードの挿入と削除に統合されることがよくあります。この回転は、他の手法のコストと木の高さを最小限に抑えるために行われます。

参考文献

  • Thomas H. CormenCharles E. LeisersonRonald L. RivestClifford Stein、2001年7月16日、『アルゴリズム入門』第2版、McGraw-Hill、ISBN 0-07-013151-1第13章。

「https://en.wikipedia.org/w/index.php?title=Left_rotation&oldid=1020915068」から取得