バランスのとれたバイナリツリーがあるとします。私はツリー内のキーkを検索したい。しかし、kがバイナリツリーに存在しない場合は、kに最も近い次の最大の番号を与えるはずです。例についてはバイナリツリーキーに最も近い数値と大きい数値を見つける
は、私は、ツリーのキーとして[1,5,6,8,10]これらの番号を持っていると仮定します。私は「7」で検索した場合には、8返すべきであると私は2を検索した場合、それは返すべきである5など
何な検索を行うことができるように、バイナリツリー内の変更でなければならないであろうか?私はO(ログn)ソリューションもしたいです。あなたは「二分探索木」ではなく「バイナリ木」を意味すると仮定すると、
私の他の答えであるPaulに感謝します。私は座って答えを出すのではなく、問題を実際に考えました。次のような解決策の要約があります: "あなたが左のサブツリーを再帰した最後のノードが答えです。"これは、これまでの最高の分と現在のノードの価値を取る必要があることを意味します。思考? – AndyG
@AndyGはい、あなたは正しいと思います。 –