こんにちは私は以下の問題があります。木を考えると、ルートとノードよりも高い値を持つノードの数をチェックできるようにしたいと考えています。つまり、ノードの値が11の場合は、ルートとその上にあるすべてのノードよりも高い(または等しい)限り、カウンタを増やす必要があります(したがって、ルートまでのすべての値は11以下にする必要があります)。どのように最高の達成するために?ルートより高い値のバイナリツリーノードの数を確認する
は
こんにちは私は以下の問題があります。木を考えると、ルートとノードよりも高い値を持つノードの数をチェックできるようにしたいと考えています。つまり、ノードの値が11の場合は、ルートとその上にあるすべてのノードよりも高い(または等しい)限り、カウンタを増やす必要があります(したがって、ルートまでのすべての値は11以下にする必要があります)。どのように最高の達成するために?ルートより高い値のバイナリツリーノードの数を確認する
は
がbreadth firstツリートラバーサルを行いますありがとうございました。各レベルの終わりに、カウンタ値を作るために使用されるハッシュテーブルにノード値(そのレベルのみ)を追加します。
2
/ \
1 3
/ \ / \
11 12 4 5
プレイアウト:LVLに
ハッシュテーブルは= {}
ハッシュテーブル= {2}
ハッシュテーブル= {2、1、3}
。 。 。
count = 6個以上のノードは、それらの上のすべてのノード以上です。
ありがとう – aretai
[何を試しましたか?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) –
はこの宿題ですか?ちょうど右に直進+ 1! – Gevorg
あなたのツリーはこの質問に答えるために具体的に構成されていますか?すなわち、それは左のノードが親ノード以下であり、右のノードが親ノードより大きいバイナリツリーですか?もしそうなら、それはかなりシンプルにすべきです。そうでなければ、なぜ最初に木を使用しているのか分かりません。おそらく文脈情報をもう少し聞いてみると、あなたの問題に対する有益な答えが得られます。 –