2011-12-05 5 views
2

2つの都市間で最も安い航空券を見つけることができる宿題があります。Dijkstraアルゴリズムを使用して隣接行列の最短経路を見つけよう

私たちはDijkstraのアルゴリズムと共に隣接行列を使用する必要があります。私は私の本のアルゴリズムだけでなく、(他のサイトの中で)ウィキペディアを見ています。アルゴリズムのパラメータで、それは持っているので、私は混乱している:

DijkstraAlgorithm(weighted simple digraph, vertex first) 

私は全体pseudocode-を見ている場合は特にunderstanding-苦労してる何それは唯一の引数として一つの頂点をとる理由は?私は2つの頂点間で最も安い航空運賃(最短経路)を見つける必要があります。なぜアルゴリズムは1つしか必要としないのですか?

答えて

6

Dijkstra'sは、与えられた頂点(あなたの例ではfirst)からまでの最短パスをグラフ内のの頂点に見つけることができます。そのため、入力として1つの頂点しか必要としません。

+0

私はほぼ同じ返信を入力していました。 *大胆なフォントを含む。* – suszterpatt

+1

確かに。あなたはあなたのグラフのすべてのノードに移動するためのコストの "テーブル"を持つことになり、あなたが来たノード –

+0

よろしいですか?と大胆なフォント;) –

関連する問題