0

次のように二分木を構築するタスクがあります。

  1. バランスの取れた理想的な木を構築します。
  2. 指定された値を持つノードの量を見つける
  3. 木を二分探索木に変換する

だから...私にとって奇妙なこと:バイナリツリーについて読んだところはどこでも、重複する値を持つノードが含まれることはありませんが、2番目のタスクでは、入力された値を計算するノードの量を見つける必要があります...私はルールによってツリーを構築しますか?

または、最初に構築するツリーは順序付けされておらず、重複を許可する必要がありますか? ツリーを二分探索ツリーに再構築する場合、重複を削除してノードを左なし右より多くの規則で並べ替えるだけで済みますか?

4

3 に答える 3

3

重複値のバイナリ ツリーに制限はありません。二分木は、各ノードが最大 2 つの子を持つ木です。それでおしまい。

于 2012-05-22T08:04:34.420 に答える
1

ルールの 1 つを > だけでなく >= に簡単に設定できるため、すべての要素を簡単に見つけることができます...

于 2012-05-22T08:06:18.243 に答える
1

二分探索木には重複がある場合があり、その例として multiset と multimap があります。特定のノードの右側または左側のサブツリーに等しいキーを持つ要素を配置するかどうかを定義するだけで、実質的な変更はありません。

編集: また、2 番目のタスクでは、二分探索木を持っている必要はありません。私が正しく理解できれば、バイナリ ツリーしかありません (つまり、順序付けされていません)。

于 2012-05-22T08:05:53.067 に答える