- 266 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:55:01.30 ]
- [1] 授業単元:アルゴリズム演習
[2] 問題文(含コード&リンク):スタート地点の駅からゴールの駅までの距離を最短経路を、 ダイクストラのアルゴリズムにより 求めるプログラムを作成せよ。隣接する2駅間の距離(辺の重み)として、緯度と経度から計算される2点間のユークリッド距離を用いること。 出力の最後にスタートの駅からゴールの駅までのコストの総和を表示すること。 次の関数を用いること 発見した経路を表示する関数:display_path() 各辺の重みを計算する関数:compute_edge_weight() (教科書で言うところの、最短距離が確定した集合である)集合Sに要素を追加する関数:add() まだSに追加されていない要素の中から、暫定距離が最小の要素を選ぶ関数:select_min() [3] 環境 [3.1] OS: Linux [3.2] gcc 3.4 [3.3] 言語:C [4] 期限:7月31日12時まで www.dotup.org/uploda/www.dotup.org3257076.jpg 今回は簡易的に0駅から5駅までの最短距離を求めるプログラムを考えます。 codepad.org/3K6fWDQT ↑ ここまではできたんですが、最短距離の駅をスタートから順に表示するために関数display_pathを実行しようとするとセグメントエラーがでます(なのでコメントアウトしています) 最短距離自体は求まってるようですが本当に正しいのか自身はありません。すいませんよろしくおねがいします。
|

|