1

問題は次のとおりです。

T を n ノード上のスプレイ ツリーとし、x を T のノードとする。x でのスプレイ操作を考える。x の下のサブツリーは必然的にバランスが取れますか (つまり、スプレイ ツリーの x をルートとするサブツリーの高さは、スプレイ操作後に O(logn) になりますか?

私はそれに多くの時間を費やしましたが、それでもイライラしています....あなたの答えに感謝します。

4

2 に答える 2

2

いいえ。 T が次のような絶対的な最悪のケースを考えてみてください。

y
 \
  y
   \
   ...
     \
      x

ここで、ys は任意のノードです。スプレーxすると、ツリーは次のようになります。

  x
 /
y
 \
  y
 / \
y   y
   / \
  y   y
     / \
    y  ...
         \
          y

(ここでも、ys を任意のノードとして)。その場合、深さはまだO(n)この場合です。

編集:「後」ツリーを台無しにしたことに気付いたので、より正しい例で回答を更新しました。

于 2013-10-18T00:05:17.980 に答える
0

いいえ。これらの注を参照してください。トラバースされたノードの平均的な深さは半分になりますが、バランスの取れたツリーが得られるとは限りません。

于 2013-10-18T00:08:44.933 に答える