2016-09-26 12 views
0

私は2次元配列を有する(以下のいずれかのよう仮定する)他の人に迷惑をかける。しかし、これを行う代わりに、私はこの計算された最短経路の最初の移動を取得したいと思います。最短パスの最初の移動を取得する - - 2次元アレイのJava

ではなく、何度も何度も全体の最短経路を再計算することよりも、これを行うには良い方法はありますが....

私は*、ダイクストラとBFSの間に快適切り替えています。

いずれもお勧めします。

+1

パスを一度計算してそのパスに従うことはできませんか? – satnam

+0

この最短経路の開始点と終了点はゲームオブジェクトです。従って、これらの両方のゲームオブジェクトは一定の方向に動いている。だから毎秒、私はパスを再計算し、パス上の最初の動きをする必要があります... –

答えて

0

いくつかのヒューリスティックを使用して、使用可能な移動のどれがエンドポイントに近づくかを推測できます。ただし、絶対最短パスの最初の移動を取得する場合は、パス全体を計算する必要があります。あなたのパフォーマンスを向上させるためにいくつかのメモを使用しようとすることができます。

+0

私はいくつかのpsuedocodeまたは私が "利用可能な動きのうちのどちらが終わりに近づくだろういくつかのヒューリスティックを使用してポイント "とヒューリスティックは何ですか? –

+0

A *アルゴリズムには、目標までの最も安い経路のコストを推定する経験則が含まれています。あなたはそこから始めることができます。 – uoyilmaz

関連する問題