4

現在、グラフ全体でダイクストラのアルゴリズムを実行し、元のノードからの合計距離によってノードの最小ヒープを形成しています。次に、ヒープから上位 n 個の要素を削除します。

これは非常に非効率的だと思います。最も近い 10 個のノードを見つける必要があり、グラフに 100000 を超えるノードがあるとします。次に、グラフ全体でダイクストラを実行するのは時間の無駄のようです。しかし、問題は、グラフ内のすべてのノードへの最短パスを計算せずに、上位 10 個の最も近いノードを見つけることができる他の方法がわからないことです。

より良い方法はありますか?

4

1 に答える 1