2011-01-04 11 views
4

私は、バイナリツリーのローテーションのためのコードを書く方法について私の頭脳を包み込むことを試みてきました。私はhttp://en.wikipedia.org/wiki/Tree_rotationとenfuzzled.comを見た 私はこれを2時間見つめていて、それを何度か前に見てきました。私はまだウィキペディアの記事で問題を見て、他のものを完全に理解できません。 Wikipediaの記事で述べたバイナリツリーの回転の説明付きコード(左または右)

これらの両方の行が一度に

レッツPがQの左の子でtrueにすることはできません。 Pを新しいルートに設定します。

誰も助けてくださいことはできますか?おかげ

+0

の私の版に記事が正式な説明のようなものであることです。実際のバランスの取れたツリーローテーションに関する記事は、次のように読みやすくなります。http://en.wikipedia.org/wiki/Red-black_tree – 9dan

+0

ありがとうございました。その記事には、回転のためのコードもありません。私はコードを見つけるのが非常に難しいと思っています。私はウェブ上で利用可能な多くのコースをスキャンしています。私の母校のように、コードではなくコンセプトを教えています。このコードはかなり難しいかもしれませんし、複数の反復の後に私はいくつかのガイダンスを探しています – user560871

答えて

1

「PはQの左の子とします。設定P、新たなルートであることを。」基本的に右回転または右回転の説明です。

Q  P 
/ => \ 
P   Q 
+0

おっと。ありがとう。私はこれをもう一度見つめ、今私は理解する。したがって、最初の文であるPをQの左の子とすることは、元のツリーにシンボルを修正しようとする試みです。私はPが新しい木にQの左の子だと考え続けます。私は申し訳ありません、私は本当にダムです。再度ありがとう – user560871

+1

何もありません。ところで、ダムの人々は実際には気が気にしないでください:) – Schultz9999

0

ここでLEFT-ROTATEコーマン帳

LEFT-ROTATE algorithm for BST