私は各ノードが値を持つことができるバイナリツリーを持っています。制限付きメモリを持つバイナリツリーで最初にnullを見つけよう
値がnullで、ルートに最も近いノード内のノードを探したいとします。ルートから同じ距離のノードが2つある場合は、どちらかが実行されます。バイナリツリーへの読み取りアクセス数を最小限に抑える必要があります。作業メモリがk個のノードに限定されていると仮定してください。
深さkまでのDFSは網羅的ですが、ツリー全体を最初に実行しない限り、最も近いノードは見つかりません。 BFSは最も近いものを見つけるでしょうが、DFSが同じメモリを持つより深いヌルを見つけることができるため、失敗する可能性があります。
私はツリーへの読み取りアクセスを最小限に抑えて、最も近いヌルノードを見つけたいと考えています。
(私は一般的な解決策が良いでしょう、あまりにも、最終的にNウェイの木でこれを実装する必要がないでしょう。木へんが書き込みアクセス、ちょうどお読みください。)
私は、最も近いヌルノードが最も少ないリードよりも重要だと考えますか? –
BFSの失敗の詳細を教えてください。 –
リチャード:深さk内にヌルノードがある場合は、ルートに最も近いものを出力したい。そうでなければ、私は失敗する。 Pate:BFSのメモリ使用量が指数関数的に増加します。 kのメモリでは、私はDFSでk深度に達することができますが、BFSは深く進むことができません。だから、DFSで見つけられるがBFSでは見つけられない解決策があるかもしれない。 – Eyal