0

試験に備えて練習に取り組んでいます。私は今、ツリーのトラバーサルを行っていますが、それらを処理していると思っていましたが、この質問にたどり着きましたが、順序どおりまたはポストオーダーのトラバーサルを正しく取得できません。

質問は:

次の要素が指定された順序で空の二分探索木に追加されるとします。

Meg, Stewie, Peter, Joe, Lois, Brian, Quagmire, Cleveland

上記のツリーの要素を、前順、順順、および後順トラバーサルで表示される順序で記述します。次のように、要素をスペースやコンマで区切ってソリューションを入力します。

それらがどのように追加されることになっているのかについては漠然としていますが、私はアルファベット順に仮定しています.

したがって、少なくとも私が理解しているように、ツリーは次のようになります。

                            Meg
                         /      \
                      Joe         Stewie
                     /    \        /    \
                  Brian  Lois    Peter   Quagmire
                      \                   
                      Cleveland

私が正しかったと書かれている事前注文トラバーサルは、メグ、ジョー、ブライアン、クリーブランド、ロイス、ステューウィー、ピーター、クアグマイアです。

ただし、順序どおりおよび順序後のトラバーサルが間違っていると言っており、その理由がわかりません。プレオーダーがうまくいったので、ツリーは正しいと思います。他の2つについて私が持っているものは次のとおりです。

順番: ブライアン、クリーブランド、ジョー、ロイス、メグ、ピーター、ステューウィー、泥沼

ポストオーダー: クリーブランド、ブライアン、ロイス、ジョー、ピーター、クアグマイア、ステューウィー、メグ

どんな助けでも大歓迎です。トラバーサルを処理できると思うたびに、何かがループに陥ります。

編集:私のツリーは間違っています。Q はアルファベットで S の前に来ます。そのはず:

                            Meg
                         /      \
                      Joe         Stewie
                     /    \        /    
                  Brian  Lois    Peter   
                      \               \          
                      Cleveland         Quagmire

正しいトラバーサルは次のとおりです。

予約注文 : メグ、ジョー、ブライアン、クリーブランド、ロイス、ステューウィー、ピーター、クアグマイア

順:ブライアン、クリーブランド、ジョー、ロイス、メグ、ピーター、クアグマイア、ステューウィー

ポストオーダー: クリーブランド、ブライアン、ロイス、ジョー、クアグマイア、ピーター、ステューウィー、メグ

4

1 に答える 1

0

あなたのツリーは正しくありません。ではなくQuagmireの正しい子である必要があります。PeterStewie

それ以外の場合、トラバーサルは見栄えがします。

于 2013-11-03T19:07:37.870 に答える