文字列の二分探索木がどのように機能するのかという質問がありました。新しいデータが親データより小さいかどうかをチェックし、小さい場合は左に、大きい場合は右に分岐することにより、整数の二分探索木を知っており、実装しました。ただし、これを文字列のノードで実装する方法について少し混乱しています。
整数または文字を使用して、プログラムしたツリーの挿入メソッドに配列を挿入するだけで、ツリー ノードが正しく構築されます。私の質問は、これを文字列の配列でどのように処理するかです。ツリー内で文字列を正しく分岐させるにはどうすればよいでしょうか? たとえば、一連の質問があった場合、どうすれば BST を正しく分岐できるので、最終的に正しい答えにたどり着くことができるでしょうか。
たとえば、次の自明なツリーの例を見てください。
land animal?
have tentacles?------------^-------------indoor animal
have claws?-----^----jellyfish live in jungle?----^----does it bark?
eat plankton?----^----lobster bear----^----lion cat----^----dog
shark----^----whale
ノードが必要な場所に配置されるように、このようなツリーをどのように配置しますか。トラブルシューティングのために BST を作成しようとしていますが、正しい位置に表示されるように文字列のノードを設定する方法がわかりません。ノードをハードコーディングする必要がありますか?