割り当てのために、最小ヒープとして実装された優先キューを使用してダイクストラのアルゴリズムを実装する必要があります。距離テーブルと未処理の頂点の順序付けられていない配列を使用する実装が既にあります。(ここのページの下部に向かって説明されているように)。
入力ファイルの例を以下に示します。最初の行は頂点の数で、その後の各行はソース、宛先、重みです。
3
1 2 3
3 2 1
1 3 1
私の最初の考えは、グラフの各エッジをヒープのノードとして扱うことでしたが、テスト ファイルの 1 つに 15677372 個のエッジがあり、すぐに segfault がなければ配列を大きくすることさえできないため、それは正しくありません。未処理の頂点の配列を使用してメソッドを実装した後、どうにかしてその配列をヒープに置き換える必要があるようですが、その方法がわかりません。
誰かが私を正しい方向に向けることができますか?