-1
初心者の質問かもしれませんが、私はこの質問に答えるのに苦労しています。私は「child2の」の左の子に「child5」を追加する必要が特定の位置にあるバイナリツリーに要素を挿入してください
root
child1 child2
child3 child4
:このようなバイナリツリー(バイナリではない探索木を)考えてみましょう。私はそれをどのようにしていますか?バイナリ検索ツリーのノードを追加する方法を知っています。ツリーがBSTではないので
if (newNode->val < root->data) {
-> pick left node
} else {
-> pick right node
}
は、このソリューションは正しいことではないでしょう。同じのスナップショットは、このようなものです。
私が言うことをしようとしています何の絵表示:「3」の左として上記ツリーで
1
2 3
4 5
は、「6」を追加する必要があります。
しかし、ツリー*はバイナリツリーですか?ノードと葉には何らかの順序がありますか?それはBSTと同じです。 –
*なぜノードがそこに追加されるべきですか?これは特殊なケースですか、それともそれはどのルールからも続きますか?バランスのとれたツリーの次の「フリー」位置にノードを追加したいと思っていますか? – molbdnilo
@molbdnilo、いいえ、それはどんなルールからでもありません。他のいくつかの問題を解決しながら、これの考え。そして、そうです、それは、バランスのとれたツリーの次の「フリー」ポジションにノードを追加したいのですか? –