1

私は A* アルゴリズムを使用しています。いくつかの障害物がある 2D グリッドがあり、開始位置と最終位置が与えられると、それらの間の最短経路を見つけます。

ここに私の疑似コードがあります

while(queueNotEmpty){
  removeFromPQ;
  if(removed == destination)
    found;
  insertAllNeighbours;
}

remove と insert は優先キュー (ヒープ) 上の関数であり、O(log(n)) 時間です。

グリッドの次元を N*N と考えます。実行時間の計算方法を教えてください。つまり、このループは何回実行されるのでしょうか? 何か対策はありますか?

4

1 に答える 1