非常に単純かもしれない質問がありますが、締め切りが近づくと脳が機能しなくなるので、次のようになります。
N 個のノードを持つ無向完全グラフがあります。開始ノードがあり、各ノードから他のノードまでの距離行列があります。開始ノードからすべてのノードにアクセスする最短の方法を見つけるために機能するダイクストラのアルゴリズムまたはその他のアルゴリズムを実行したいと考えています。各ノードに一度だけアクセスしたい。各ノードが他のノードに接続されている完全なグラフであるという事実により、問題がはるかに簡単になると思いますが、コーディングに頭を悩ませることはできません。私はC#を使用しています。以前に別の質問をしましたが、これは問題についてあまり知らなかった初期の段階でした。そこに利用可能なコードスニペットまたは疑似コードはありますか、または誰かが私を始めることができれば、私は非常に感謝しています.
QuickGraph とそのドキュメント、およびその他のオンライン ソースを見てきましたが、アルゴリズムを実行するためのパラメーターとして何が必要かわかりません。より正確には、私は以下のコードを理解していません:
IVertexAndEdgeListGraph<TVertex, TEdge> graph = ...;
Func<TEdge, double> edgeCost = e => 1; // constant cost
TVertex root = ...;
// compute shortest paths
TryFunc<TVertex, TEdge> tryGetPaths = graph.ShortestPathDijkstra(edgeCost, root);
上記のコード スニペットは次から取得したもの
です。私を救う以下の機能を使用してください。
私が持っているものを説明するには、グラフを作成したいポイント (x,y) のリストがありますが、最短パスのエッジのみを表示しています。
私の古い投稿へのリンク:
Run Dijkstra's Algorithm on a List<Point> in C#