検索結果 4 件

by テンペ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語--隣接行列を隣接リストにして操作を行う
返信数: 2
閲覧数: 4145

Re: C言語--隣接行列を隣接リストにして操作を行う

ありがとうございます!理解しました。定義される文字が多すぎて何をどうすればいいのやらと途方に暮れていました(*_*; dist_vec に数値が入っていなかったら(UNREACH)だったらそこにdistを入れる(distは次のノードに行くたびに1増える) 配列nextにはjから向かうことが出来るノードの番号が入り、小さいループを抜けた後にその中身をcurrに入れる。 そして新しいループに入ればcurr[0]curr[1]←これらは前回のノードからさされたノードから再び新しいところへ向かうノードにdistを入れる。 といった感じでそれぞれの役割があることがわかりました。 とてもすっきりしました。...
by テンペ
8年前
フォーラム: C言語何でも質問掲示板
トピック: ダイクストラ法について
返信数: 5
閲覧数: 3082

Re: ダイクストラ法について

失礼しました。コードを訂正しました。15行目、iではなく1でした。
by テンペ
8年前
フォーラム: C言語何でも質問掲示板
トピック: ダイクストラ法について
返信数: 5
閲覧数: 3082

ダイクストラ法について

下に示されるC言語の関数dijkstra(int s, int g)は、頂点sから頂点gまで到達可能な場合にはその2頂点間の最短距離を、到達不可能な場合には-1を返す関数です。ただし、ここで有効グラフにおける2頂点sおよびg間の最短距離を、頂点sから頂点gへ到達するまでにたどる矢印の最小数とする(重みが1ということ) という問題で、 下記のコードの/A/部分がわかりません。//A//の文の数は分かりません。 node .distanceの値を更新するのかと思ったのですが、方法が思いつかないです。 int dijkstra(int s, int g){  struct {  int found;...
by テンペ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語--隣接行列を隣接リストにして操作を行う
返信数: 2
閲覧数: 4145

C言語--隣接行列を隣接リストにして操作を行う

C言語についての質問です。 下記のプログラムでは初めにadj_matという隣接行列を定義した後にそれを隣接リストの形に変えています。 adj_index[N_VERT]=index; 以下では、配列adj_listおよびadj_indexを用いて、originから頂点i(i=0~7)までの距離をoriginからの幅優先探索で求め dist_vec に格納するように、プログラムを作りたいです。G~Mに入るプログラムを教えてください。 現在C言語は猫でもわかるC言語を終えたレベルで、アルゴリズムは一通り学びました。 ちなみにこれはある大学院の過去問になってます、答えがわからないためこちらで質問させ...

詳細検索ページへ移動する