サイズ N*N の正方形グリッドで BFS を実行したいと考えています。開始ノードは 1 つです。上下左右にしか動かない(斜めには動かない)。グリッドに障害物がある可能性があります。
もちろん、アクセスする必要があるノードを格納するためにキューを使用したいと考えています。サイズ S (固定サイズ) の円形配列として実装されます。アレイの最小サイズは? 最悪の場合でもオーバーフローさせたくありません。
同様の問題は次のようになります: グリッド内のノードが与えられた場合、開始ノードから正確に K の距離にあるノードの最大数はいくつですか (任意の 0 < K < 2*N の場合)?
この問題に対する正確な答えを見つけるのは難しいと思うので、適切な概算で十分です。
この例を参照してください(一番右の写真):
これはグリッドではありませんが、同じパターンでグリッドを作成できます (白は障害物を表し、黒のフラクタルは歩行可能なノードです)。中央のノードからまったく同じ距離に多くのノードがあることがわかり ます (実際、この数はパスが 2 つに分割されるたびに 2 倍になります)。したがって、この数値がどれくらい大きくなるか、また同じ状況に陥る他の構成があるかどうかを知りたいです。
非常に明確にするために、私の質問は次のとおりです。この数値は 2*N よりも大きくなることができますか? ここで、N は N*N 正方形グリッドのサイズです。