C/C++の宿題片付けます 128代目at TECH
C/C++の宿題片付けます 128代目 - 暇つぶし2ch788:デフォルトの名無しさん
09/07/08 18:12:28
Dijkstra法の課題が出たのですが全く分かりません。助けてください。

(課題)
Dijkstra法のプログラムを完成せよ。

(Dijkstraのアルゴリズムの擬似コード)

#include <stdio.h>
#define M 8 //ノードの数
#define Z 300 //無限大
int c[M][M] = { 0, Z, Z, Z, Z, Z, 7, 2},{ Z, 0, 8, 7, Z, Z, Z, 1},{ Z, 8, 0, Z, Z, Z, Z,10},{ Z, 7, Z, 0,10, 3, Z, Z},{ Z, Z, Z,10, 0, 8, Z, 5}, { Z, Z, Z, 3, 8, 0, 2, Z}, { 7, Z, Z, Z, Z, 2, 0, 9}, { 2, 1,10, Z, 5, Z, 9, 0}; //隣接行列
int main(void){
int start; //ソースのノード
int d[M]; //ノードまでのコスト
int v[M]; //確定フラグ
int p[M]; //前のノードへのポインタ
     printf("start\n");
scanf("%d",&a);//ソースノードstartを指定する
for (j=0; j<M; j++){
        //最小コストのノードを探す、最小コストのノードを確定する
         for(k=0; k<M; j++){
           //wを経由してkにいたるコストがそれまでの最短路のコストより小さければd(k)を更新
          }
}
     //ソースノードから各ノードへの最小コストと最短路を表示する
}





次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch