現在、Dijkstraの最短経路問題に取り組んでいます。このプロジェクトでは何も具体的なものはありません。アルゴリズムは、頂点のタイプを別の頂点に印刷する必要があることを除いて、標準です(ペアのセットを実装しています)。C++ Dijkstraアルゴリズム - エッジ名/タイプを印刷
私は4つの頂点と5つのエッジがあるとします。 v1とv2を接続する2つ以上の辺が存在するように、1組の頂点p(v1、v2)が存在する。たとえば、ロンドンからパリまでの距離を求めたいとします。私たちはどちらも車で運転することができます(1つのタイプのエッジ)または私たちは航空券(別のタイプのエッジ)を購入することができます。私がしたいのは、エッジのタイプを印刷することです。
例: 私はロンドンからパリに行くには2通りの方法があります。 ロンドン - >カレー - >パリ、車で約5時間、 ロンドン - >パリ、飛行機で約1時間。
最小時間や最小距離の印刷方法、パスの印刷方法などはわかっていますが、「飛行機」や「車」などのエッジの種類(輸送の種類)を印刷するにはどうすればよいですか? '?ここに私が試したものです:
struct neighbor {
int target_vertex;
double weight;
int type;
// for type: 0 - car
// 1 - bus
// 2 - plane
};
しかし、それでもまだ、私は最短経路を計算しながら、私はそれらのエッジ「種類」を保存する方法を、見つけ出すことができませんでした。ここ
コード:https://gist.github.com/anonymous/5943c448e47ebf0d3964baa53361459d
これは存在しないタイプが含まれているという問題です。例えば、ある都市から別の都市への唯一の方法は飛行機(最短)です。しかし、それは言う - "バスバス飛行機" – oneturkmen