このウェブサイトのコードに基づいて、ダイクストラのアルゴリズムを実装しています。基本的に、多数のノード (たとえば 10000) があり、各ノードは他のノードへの接続を 1 ~ 3 つ持つことができます。
ノードは 3D 空間内でランダムに生成されます。接続もランダムに生成されますが、常に最初に最も近い近隣との接続を見つけようとし、ゆっくりと検索範囲を広げます。各接続には 1 の距離が与えられます。(これが問題になるとは思えませんが、それは単なる背景です)。
この場合、アルゴリズムは、開始点から他のすべてのノードまでの最短ホップ数を見つけるために使用されています。また、10,000 ノードでも問題なく動作します。私が抱えている問題は、ノードの数が増加すると、たとえば 200 万に近づくと、グラフを作成しようとすると、コンピューターのメモリをすべて使い果たしてしまうことです。
アルゴリズムを実装してメモリフットプリントを削減する別の方法を知っている人はいますか?または、メモリ使用量が少ない別のアルゴリズムがありますか?