5

本の中でアルゴリズムの紹介 - 創造的なアプローチ、質問4.24:

T1 と T2 を 2 つの任意のツリーとし、それぞれに n 個のノードがあります。T2 と等しくなるように、T1 に最大 2n 回の回転を加えれば十分であることを証明してください。

二分探索木については、次のようなアルゴリズムを見つけました。

  1. T2 のルートに等しい要素を見つけます。それをターゲット ルートと呼びましょう。

  2. AVL ローテーション戦略を使用して、ターゲット ルートをローテーションし、T1 の新しいルートにします。
    このプロセス中に、複数のローテーションが実行される場合があります。

  3. T1 と T2 の左部分木については、上記のように再帰的に処理します。
    T1 と T2 の右側のサブツリーについては、上記のように再帰的に処理します。

このアルゴリズムは、最悪の場合、O(N^2) で実行されます。

「任意ツリー」という言葉がよくわかりません。また、T1 を T2 に等しくする方法もわかりません。

誰でもこの質問を手伝ってもらえますか?

4

1 に答える 1