2つの二分探索木は、順番のトラバースで一致する場合、線形的に同等であると言われます。次の定理は、ツリーの回転が非常に基本的な理由を説明しています。
AとBをバイナリ検索ツリーとします。すると、AとBは、ツリー回転のシーケンスによって接続されている場合にのみ線形的に等価です。
私はずっと前にデータ構造について最初に学んでいたときにこの結果に気付き、ツリー回転の特別な状態をより深く理解したかったのです。
証明はシンプルで直感的です:左向きの脊椎に沿って最小の要素をルート位置まで回転させます。順序不変量により、この再配置されたツリーは左のサブツリーを持つことができません。次に、適切なサブツリーで再帰します。結果は、線形等価性をテストするための標準形式です。
それは基本的な定理ですが、私は文学でこれに出くわすことはありません。この結果を次に使用する必要があるときは、参考にしてください。
(ボーナス脳ティーザー:2つの線形に等価なバイナリ検索ツリーを接続するツリー回転の最短シーケンスを見つけるための最良のアルゴリズムは何ですか?)