日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

啊哈算法中的Dijkstra最短路算法(好理解!!!)

發布時間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 啊哈算法中的Dijkstra最短路算法(好理解!!!) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

tip:需要電子書的小伙伴可以留言或者私信哦~~






模板:

#include <stdio.h> int main() {int e[10][10],dis[10],book[10],i,j,n,m,t1,t2,t3,u,v,min;int inf=99999999; //用inf(infinity的縮寫)存儲一個我們認為的正無窮值//讀入n和m,n表示頂點個數,m表示邊的條數scanf("%d %d",&n,&m);//初始化for(i=1;i<=n;i++)for(j=1;j<=n;j++)if(i==j) e[i][j]=0;else e[i][j]=inf;//讀入邊for(i=1;i<=m;i++){scanf("%d %d %d",&t1,&t2,&t3);e[t1][t2]=t3;}//初始化dis數組,這里是1號頂點到其余各個頂點的初始路程for(i=1;i<=n;i++)dis[i]=e[1][i];//book數組初始化for(i=1;i<=n;i++)book[i]=0;book[1]=1;//Dijkstra算法核心語句for(i=1;i<=n-1;i++){//找到離1號頂點最近的頂點min=inf;for(j=1;j<=n;j++){if(book[j]==0 && dis[j]<min){min=dis[j];u=j;}}book[u]=1;for(v=1;v<=n;v++){if(e[u][v]<inf){if(dis[v]>dis[u]+e[u][v])dis[v]=dis[u]+e[u][v];}}}//輸出最終的結果for(i=1;i<=n;i++)printf("%d ",dis[i]);getchar();getchar();return 0; } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的啊哈算法中的Dijkstra最短路算法(好理解!!!)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。