0

ノードといくつかのレベルを備えた 2 ~ 3 個のツリーが与えられたとします。結果のツリーを提供するいくつかの可能な挿入順序/シーケンスの 1 つをどのように見つけることができますか?

コードは必要ありません。紙のタスクだけです。単純な試行錯誤のケースではないことは確かです (祈っています)。

こちらでも同様の質問がありましたが、回答がありませんでした

2~3本の木入れ

4

1 に答える 1

0

私はこの主題に不慣れですが、私はそれを試してみます.

私たちがしなければならないことは、一歩後退する方法を見つけることだけです。つまり、最後に追加された可能性のある値を選択し、前のツリーが何であったに違いないかを推測します。

葉に新しい値が追加されます。リーフに 1 つの値があった (現在は 2 つある) か、2 つの値があり、新しい値によって分割が発生したかのいずれかです。分割は、3 ノードまたは新しいルート 2 ノードの作成によって停止するまで、ツリーを上方向に伝播します。

そこで、最後に追加された可能性のある値を選択する方法を次に示します。ツリーに 2 つの値を持つノードがある場合は、最も低いノードの 1 つを選択します。そのノードのいずれかの値が最後の値である可能性があります。ツリーに 2 つの値を持つノードがない場合、ツリーのどの値でも 、ルート ノードの値が最後のノードである必要があります。

(これは網羅的ではありません。他の可能性もありますが、すべての候補ではなく候補を見つけようとしています。)

値を選択したら、葉に分割解除して削除するのは非常に簡単です。

それで十分ですか、それとももっと詳しく説明する必要がありますか?

于 2012-05-02T22:21:15.413 に答える