2016-05-15 25 views
-4

バイナリ検索ツリーをAVLツリーに変換するアルゴリズムを作成する方法を知っている人は誰でも知っていますか?それを変換して別のツリーを作成しないでください(DSL手法ではなく回転のみを使用します)...ここでのトリッキーな部分は、バイナリ検索ツリーが様々な方法で不均衡になる可能性があり、4種類の回転があるため、多くのケースがあるということです。バイナリ検索ツリー?アルゴリズム

+2

あなたの宿題をした後、私はあなたのシャツマスターをアイロンにする必要がありますか? –

+0

さて、Cを使っているので、新しいツリーへの新しいポインタを作成するのではなく、ルートのみを残してツリーをリセットし、結果として再利用することができます。可能な解決策は、ツリーのすべての値を一時的に保存し(任意の方法で)、ツリーをクリアしてから、任意の自動バランシング技術を使用してアイテムを追加することです。それはDSWのようなものです。 :) –

+0

@androiddeveloper true –

答えて

1

あなたが探しているのであれば、DSW技術はすべてのインプレース(メモリ割り当てなし)を実行すると信じています。 それ以外の場合は、ツリーに変更がなくなるまで、AVLから修正アルゴリズムを連続して実行できますか?これは、ここで適用される多くのアルゴリズムで使用される手法です。