生活随笔
收集整理的這篇文章主要介紹了
迪杰斯特拉算法 两点间最短路径的选择
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?? 新聞網頁貼吧知道音樂圖片視頻地圖百科文庫
首頁 分類
藝術 科學 自然 文化 地理 生活 社會 人物 經濟 體育 歷史 特色百科
歷史上的今天 數字博物館 史記·2015 城市百科 二戰百科 非遺百科 用戶
蝌蚪團 燃夢計劃 百科任務 百科商城 權威合作
合作模式 常見問題 聯系方式 手機百科
網頁版 個人中心
收藏 707 6 迪杰斯特拉算法
?編輯 本詞條由“科普中國”百科科學詞條編寫與應用工作項目?審核 。 迪杰斯特拉算法是由荷蘭計算機科學家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是從一個頂點到其余各頂點的最短路徑算法,解決的是有向圖中最短路徑問題。迪杰斯特拉算法主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。
[1] 中文名
迪克斯特拉算法外文名
Dijkstra's Algorithm 分????類
計算機算法用????途
單源最短路徑問題 目錄
1?定義 2?原理 3?問題描述 4?算法思想 5?算法實現 ??pascal語言 ??java語言 ??C語言 6?堆優化 ??思考 ??實現 ??代碼 定義
編輯 Dijkstra算法是典型的算法。Dijkstra算法是很有代表性的算法。Dijkstra一般的表述通常有兩種方式,一種用永久和臨時標號方式,一種是用OPEN, CLOSE表的方式,這里均采用永久和臨時標號的方式。注意該算法要求圖中不存在負權邊。
[2] 原理
編輯 1.首先,引入一個輔助向量D,它的每個分量 D ? 表示當前所找到的
Dijkstra算法運行動畫過程 從起始點 ? (即源點 ? )到其它每個頂點 ? 的長度。 例如,D[3] = 2表示從起始點到頂點3的路徑相對最小長度為2。這里強調相對就是說在算法執行過程中D的值是在不斷逼近最終結果但在過程中不一定就等于長度。
[1] 2.D的初始狀態為:若從 ? 到 ? 有弧(即從 ? 到 ? 存在連接邊),則D ? 為弧上的權值(即為從 ? 到 ? 的邊的權值);否則置D ? 為∞。 顯然,長度為 D ? = Min{ D | ? ∈V } 的路徑就是從 ? 出發到頂點 ? 的長度最短的一條路徑,此路徑為( ? )。 3.那么,下一條長度次短的是哪一條呢?也就是找到從源點 ? 到下一個頂點的最短路徑長度所對應的頂點,且這條最短路徑長度僅次于從源點 ? 到頂點 ? 的最短路徑長度。 假設該次短路徑的終點是 ? ,則可想而知,這條路徑要么是( ? ),或者是( ? )。它的長度或者是從 ? 到 ? 的弧上的權值,或者是D ? 加上從 ? 到 ? 的弧上的權值。 4.一般情況下,假設S為已求得的從源點 ? 出發的最短路徑長度的頂點的集合,則可證明:下一條次最短路徑(設其終點為 ? )要么是弧( ? ),或者是從源點 ? 出發的中間只經過S中的頂點而最后到達頂點 ? 的路徑。 因此,下一條長度次短的的最短路徑長度必是D ? = Min{ D ? | ? ∈V-S },其中D ? 要么是弧( ? )上的權值,或者是D ? ( ? ∈S)和弧( ? , ? )上的權值之和。 算法描述如下: 1)令arcs表示弧上的權值。若弧不存在,則置arcs為∞(在本程序中為MAXCOST)。S為已找到的從 ? 出發的的終點的集合,初始狀態為空集。那么,從 ? 出發到圖上其余各頂點 ? 可能達到的長度的初值為D=arcs[Locate Vex(G, ? )], ? ∈V; 2)選擇 ? ,使得D ? =Min{ D | ? ∈V-S } ; 3)修改從 ? 出發的到集合V-S中任一頂點 ? 的最短路徑長度。
[1] 問題描述
編輯 在無向圖?G=(V,E) 中,假設每條邊 E[i] 的長度為 w[i],找到由頂點 V0 到其余各點的最短值。
[2] 算法思想
編輯 按路徑長度遞增次序產生算法: 把頂點集合V分成兩組: (1)S:已求出的頂點的集合(初始時只含有源點V0) (2)V-S=T:尚未確定的頂點集合 將T中頂點按遞增的次序加入到S中,保證: (1)從源點V0到S中其他各頂點的長度都不大于從V0到T中任何頂點的最短路徑長度 (2)每個頂點對應一個距離值 S中頂點:從V0到此頂點的長度 T中頂點:從V0到此頂點的只包括S中頂點作中間頂點的最短路徑長度 依據:可以證明V0到T中頂點Vk的,或是從V0到Vk的直接路徑的權值;或是從V0經S中頂點到Vk的路徑權值之和 (反證法可證) 求最短路徑步驟 算法步驟如下: G={V,E} 1. 初始時令 S={V0},T=V-S={其余頂點},T中頂點對應的距離值 若存在<V0,Vi>,d(V0,Vi)為<V0,Vi>弧上的權值 若不存在<V0,Vi>,d(V0,Vi)為∞ 2. 從T中選取一個與S中頂點有關聯邊且權值最小的頂點W,加入到S中 3. 對其余T中頂點的距離值進行修改:若加進W作中間頂點,從V0到Vi的距離值縮短,則修改此距離值 重復上述步驟2、3,直到S中包含所有頂點,即W=Vi為止
算法實現
編輯
pascal語言
下面是該算法的Pascal程序
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | type bool=array[1..10]ofboolean; arr=array[0..10]ofinteger; var a:array[1..10,1..10]ofinteger;//存儲圖的鄰接數組,無邊為10000 c,d,e:arr;//c為最短路徑數值,d為各點前趨, t:bool;//e:路徑,t為輔助數組 i,j,n,m:integer; inf,outf:text; procedureinit;//不同題目鄰接數組建立方式不一樣 begin assign(inf,inputfile); assign(outf,outputfile); reset(inf); rewrite(outf); read(inf,n); fori:=1tondo begin forj:=1tondo begin read(inf,a[i,j]); ifa[i,j]=0then a[i,j]:=10000; end; end; end; proceduredijkstra(qi:integer;t:bool;varc{,d}:arr); //qi起點,{}中為求路徑部分,不需求路徑時可以不要 var i,j,k,min:integer; begin t[qi]:=true; //t數組一般在調用前初始,除起點外所有節點都化成false,也可將部分點初始化成true以回避這些點 fori:=1tondo d[i]:=qi; d[qi]:=0; fori:=1tondo c[i]:=a[qi,i]; fori:=1ton-1do begin min:=maxint;//改為最大值 forj:=1tondo if(c[j]<min)andnott[j]then begin k:=j; min:=c[j]; end; t[k]:=true; forj:=1tondo if(c[k]+a[k,j]<c[j])andnott[j]then begin c[j]:=c[k]+a[k,j]; d[j]:=k; end; end; end; proceduremake(zh:integer;d:arr;vare:arr);//生成路徑,e[0]保存路徑 var i,j,k:integer;//上的節點個數 begin i:=0; whiled[zh]<>0do begin inc(i); e[i]:=zh; zh:=d[zh]; end; inc(i); e[i]:=qi; e[0]:=i; end; |
主程序調用:求長度:初始化t,然后dijkstra(qi,t,c,d) 求路徑:make(m,d,e) ,m是終點
java語言
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | //初始化路徑,都為最大值。 intpath[][]=newint[n+1][n+1]; for(inti=1;i<n+1;i++){ for(intj=1;j<n+1;j++) path[i][j]=Integer.MAX_VALUE; } //這里需要輸入path[i][j]的具體內容,如果有重復數據的話,需要更新路徑為最小值。 intminLen[]=newint[n+1]; //visit初始為0,防止回溯 intvisit[]=newint[n+1]; //初始化1到其他點的距離。 for(inti=1;i<n+1;i++){ minLen[i]=path[1][i]; } voidDijkstra(){ minLen[1]=0; visit[1]=1; intminj=1; for(inti=1;i<n+1;i++){ intmin=Integer.MAX_VALUE; for(intj=1;j<n+1;j++){ if(visit[j]==0&&minLen[j]<min){ min=minLen[j]; minj=j; } } visit[minj]=1; for(intj=1;j<n+1;j++){ if(visit[j]==0&&minLen[minj]!=Integer.MAX_VALUE&&path[minj][j]!= Integer.MAX_VALUE&&minLen[j]>(minLen[minj]+path[minj][j])){ minLen[j]=minLen[minj]+path[minj][j]; } } } } |
C語言
下面是該算法的C語言實現
[1] | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include<stdio.h> #include<stdlib.h> #define?max?11000000000 inta[1000][1000]; intd[1000];//d表示某特定邊距離 intp[1000];//p表示永久邊距離 inti,j,k; intm;//m代表邊數 intn;//n代表點數 intmain() { scanf("%d%d",&n,&m); intmin1; intx,y,z; for(i=1;i<=m;i++) { scanf("%d%d%d",&x,&y,&z); a[x][y]=z; a[y][x]=z; } for(i=1;i<=n;i++) d[i]=max1; d[1]=0; for(i=1;i<=n;i++) { min1=max1; for(j=1;j<=n;j++) if(!p[j]&&d[j]<min1) { min1=d[j]; k=j; } p[k]=j; for(j=1;j<=n;j++) if(a[k][j]!=0&&!p[j]&&d[j]>d[k]+a[k][j]) d[j]=d[k]+a[k][j]; } for(i=1;i<n;i++) printf("%d->",p[i]); printf("%d\n",p[n]); return0; } |
大學經典教材<<數據結構>>(C語言版 嚴蔚敏 吳為民 編著) 中該算法的實現 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | /* 測試數據?教科書?P189?G6?的鄰接矩陣?其中?數字?1000000?代表無窮大 6 1000000?1000000?10?100000?30?100 1000000?1000000?5?1000000?1000000?1000000 1000000?1000000?1000000?50?1000000?1000000 1000000?1000000?1000000?1000000?1000000?10 1000000?1000000?1000000?20?1000000?60 1000000?1000000?1000000?1000000?1000000?1000000 結果: D[0]???D[1]???D[2]???D[3]???D[4]???D[5] ?0???1000000???10?????50?????30?????60 */ #include?<iostream> #include?<cstdio> #define?MAX?1000000 using?namespace?std; int?arcs[10][10];//鄰接矩陣 int?D[10];//保存最短路徑長度 int?p[10][10];//路徑 int?final[10];//若final[i]?=?1則說明?頂點vi已在集合S中 int?n?=?0;//頂點個數 int?v0?=?0;//源點 int?v,w; void?ShortestPath_DIJ() { ?????for?(v?=?0;?v?<?n;?v++)?//循環?初始化 ?????{ ??????????final[v]?=?0;?D[v]?=?arcs[v0][v]; ??????????for?(w?=?0;?w?<?n;?w++)?p[v][w]?=?0;//設空路徑 ??????????if?(D[v]?<?MAX)?{p[v][v0]?=?1;?p[v][v]?=?1;} ?????} ?????D[v0]?=?0;?final[v0]=0;?//初始化?v0頂點屬于集合S ?????//開始主循環?每次求得v0到某個頂點v的最短路徑?并加v到集合S中 ?????for?(int?i?=?1;?i?<?n;?i++) ?????{ ??????????int?min?=?MAX; ??????????for?(w?=?0;?w?<?n;?w++) ??????????{ ???????????????//我認為的核心過程--選點 ???????????????if?(!final[w])?//如果w頂點在V-S中 ???????????????{ ????????????????????//這個過程最終選出的點?應該是選出當前V-S中與S有關聯邊 ????????????????????//且權值最小的頂點?書上描述為?當前離V0最近的點 ????????????????????if?(D[w]?<?min)?{v?=?w;?min?=?D[w];} ???????????????} ??????????} ??????????final[v]?=?1;?//選出該點后加入到合集S中 ??????????for?(w?=?0;?w?<?n;?w++)//更新當前最短路徑和距離 ??????????{ ???????????????/*在此循環中?v為當前剛選入集合S中的點 ???????????????則以點V為中間點?考察?d0v+dvw?是否小于?D[w]?如果小于?則更新 ???????????????比如加進點?3?則若要考察?D[5]?是否要更新?就?判斷?d(v0-v3)?+?d(v3-v5)?的和是否小于D[5] ???????????????*/ ???????????????if?(!final[w]?&&?(min+arcs[v][w]<D[w])) ???????????????{ ????????????????????D[w]?=?min?+?arcs[v][w]; ???????????????????//?p[w]?=?p[v]; ????????????????????p[w][w]?=?1;?//p[w]?=?p[v]?+ [w] ???????????????} ??????????} ?????} } int?main() { ????cin?>>?n; ????for?(int?i?=?0;?i?<?n;?i++) ????{ ?????????for?(int?j?=?0;?j?<?n;?j++) ?????????{ ??????????????cin?>>?arcs[i][j]; ?????????} ????} ????ShortestPath_DIJ(); ????for?(int?i?=?0;?i?<?n;?i++)?printf("D[%d]?=?%d\n",i,D[i]); ????return?0; } |
堆優化
編輯
思考
該算法復雜度為n^2,我們可以發現,如果邊數遠小于n^2,對此可以考慮用堆這種數據結構進行優化,取出最短路徑的復雜度降為O(1);每次調整的復雜度降為O(elogn);e為該點的邊數,所以復雜度降為O((m+n)logn)。
實現
1. 將與源點相連的點加入堆,并調整堆。 2. 選出堆頂元素u(即代價最小的元素),從堆中刪除,并對堆進行調整。 3. 處理與u相鄰的,未被訪問過的,滿足三角不等式的頂點 1):若該點在堆里,更新距離,并調整該元素在堆中的位置。 2):若該點不在堆里,加入堆,更新堆。 4. 若取到的u為終點,結束算法;否則重復步驟2、3。
代碼
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | procedureDijkstra; var u,v,e,i:longint; begin fillchar(dis,sizeof(dis),$7e);//距離 fillchar(Inh,sizeof(Inh),false);//是否在堆中 fillchar(visit,sizeof(visit),false);//是否訪問過 size:=0; e:=last[s]; whilee<>0do//步驟1 begin u:=other[e]; ifnot(Inh[u])then//不在堆里 begin inc(size); heap[size]:=u; dis[u]:=cost[e]; Loc[u]:=size;//Loc數組記錄元素在堆中的位置 Inh[u]:=true; Shift_up(Loc[u]);//上浮 end else ifcost[e]<dis[u]then//在堆里 begin dis[u]:=cost[e]; Shift_up(Loc[u]); Shift_down(Loc[u]); end; e:=pre[e]; end; visit[s]:=true; whiletruedo begin u:=heap[1];//步驟2 ifu=tthenbreak;//步驟4 visit[u]:=true; heap[1]:=heap[size]; dec(size); Shift_down(1); e:=last[u]; whilee<>0do//步驟3 begin v:=other[e]; ifNot(visit[v])and(dis[u]+cost[e]<dis[v])then//與u相鄰的,未被訪問過的,滿足三角不等式的頂點 ifInh[v]then//在堆中 begin dis[v]:=dis[u]+cost[e]; Shift_up(Loc[v]); Shift_Down(Loc[v]); end else//不再堆中 begin inc(size); heap[size]:=v; dis[v]:=dis[u]+cost[e]; Loc[v]:=size; Inh[v]:=true; Shift_up(Loc[v]); end; e:=pre[e]; end; end; writeln(dis[t]); end; |
參考資料
- 1.??最短路徑??.nocow[引用日期2013-08-19]
- 2.??最短路徑—Dijkstra算法和Floyd算法??.博客園[引用日期2014-11-28]
詞條標簽:
中國電子學會?,?計算機學 迪杰斯特拉算法圖冊 V百科往期回顧
其他人還看
糾錯
艾茲格·迪科斯徹
Floyd算法
SPFA算法
最短路徑
A*算法
Bellman-Ford算法
貪心算法
Prim
kruskal算法
權威合作編輯
“科普中國”百科科學詞條編寫與應用工作項目
“科普中國”是為我國科普信息化建設塑造的全... 什么是權威編輯查看編輯版本 資源提供
中國電子學會 中國電子學會(Chinese Instit...
提供資源類型:內容
?什么是資源合作 詞條統計
- 瀏覽次數:343708次
- 編輯次數:76次歷史版本
- 最近更新:2016-05-29
- 創建者:317611123
src="http://entry.baidu.com/rp/home?type=pageembed&di=u2140330&rsi0=270&rsi1=175&title=%E8%BF%AA%E6%9D%B0%E6%96%AF%E7%89%B9%E6%8B%89%E7%AE%97%E6%B3%95_%E7%99%BE%E5%BA%A6%E7%99%BE%E7%A7%91<u=http%3A%2F%2Fbaike.baidu.com%2Flink%3Furl%3DNr56Guiec9n-ZTMXxA9SUVGiKQOhTMRdNM16VkCjEGvhj17gHdpOl4eP1Kf6vWVfq6xUC_7rYrMqNN7gpUnT5ZNA8LJiM7gkMLVBzt7GW9rsdzVulvyazVfX22LmcKwwKjio4YPTUtf0T0nDbWp2Z7pf3EitqAWEWWwpfkBUjdO&ref=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DNr56Guiec9n-ZTMXxA9SUVGiKQOhTMRdNM16VkCjEGvhj17gHdpOl4eP1Kf6vWVfq6xUC_7rYrMqNN7gpUnT5ZNA8LJiM7gkMLVBzt7GW9rsdzVulvyazVfX22LmcKwwKjio4YPTUtf0T0nDbWp2Z7pf3EitqAWEWWwpfkBUjdO%26wd%3D%26eqid%3Dd61a7a7d000011640000000457ebb3a9&pageWidth=1169&pageHeight=827&t=1475064805210&iframeWidth=1169&iframeHeight=827" align="center,center" marginwidth="0" marginheight="0" class="BAIDU_SS_HHIFRAME" scrolling="no" frameborder="0" allowtransparency="true" style="display: block; width: 270px; height: 175px; background-color: transparent;">id="iframeu1997633_0" src="http://pos.baidu.com/xcgm?rdid=1997633&dc=2&di=u1997633&dri=0&dis=0&dai=1&ps=0x0&coa=wn%3D2%26hn%3D8&dcb=BAIDU_SSP_define&dtm=HTML_POST&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1475064805031&ti=%E8%BF%AA%E6%9D%B0%E6%96%AF%E7%89%B9%E6%8B%89%E7%AE%97%E6%B3%95_%E7%99%BE%E5%BA%A6%E7%99%BE%E7%A7%91&ari=2&dbv=2&drs=3&pcs=1169x827&pss=1169x9068&cfv=18&cpl=6&chi=1&cce=true&cec=UTF-8&tlm=1475064805&rw=827<u=http%3A%2F%2Fbaike.baidu.com%2Flink%3Furl%3DNr56Guiec9n-ZTMXxA9SUVGiKQOhTMRdNM16VkCjEGvhj17gHdpOl4eP1Kf6vWVfq6xUC_7rYrMqNN7gpUnT5ZNA8LJiM7gkMLVBzt7GW9rsdzVulvyazVfX22LmcKwwKjio4YPTUtf0T0nDbWp2Z7pf3EitqAWEWWwpfkBUjdO<r=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DNr56Guiec9n-ZTMXxA9SUVGiKQOhTMRdNM16VkCjEGvhj17gHdpOl4eP1Kf6vWVfq6xUC_7rYrMqNN7gpUnT5ZNA8LJiM7gkMLVBzt7GW9rsdzVulvyazVfX22LmcKwwKjio4YPTUtf0T0nDbWp2Z7pf3EitqAWEWWwpfkBUjdO%26wd%3D%26eqid%3Dd61a7a7d000011640000000457ebb3a9&ecd=1&psr=1440x900&par=1375x876&pis=-1x-1&ccd=24&cja=true&cmi=8&col=zh-CN&cdo=-1&tcn=1475064805&qn=dd41c9ba3c55a69e&tt=1475064804993.43.440.445" width="250" height="250" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="display: block; border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;">
猜你喜歡
- 計算機技術學校排名
- 計算機專業高校排名
- 計算機專業院校排名
- 廣州本田飛度
- 廣本飛度
- 本田汽車飛度
- 平面設計培訓機構
- 北大青鳥怎么樣
- 迪杰斯特拉
- c語言基礎培訓課程
id="iframe1120393_0" src="http://pos.baidu.com/xcgm?mpdi=203980&rtbid=1969725&rdid=9223372032564609772&dc=2&di=1120393&dri=0&dis=0&dai=2&ps=8799x104&dcb=BAIDU_SSP_define&dtm=HTML_POST&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1475064805031&ti=%E8%BF%AA%E6%9D%B0%E6%96%AF%E7%89%B9%E6%8B%89%E7%AE%97%E6%B3%95_%E7%99%BE%E5%BA%A6%E7%99%BE%E7%A7%91&ari=2&dbv=2&drs=3&pcs=1169x827&pss=1169x9068&cfv=18&cpl=6&chi=1&cce=true&cec=UTF-8&tlm=1475064805&rw=827<u=http%3A%2F%2Fbaike.baidu.com%2Flink%3Furl%3DNr56Guiec9n-ZTMXxA9SUVGiKQOhTMRdNM16VkCjEGvhj17gHdpOl4eP1Kf6vWVfq6xUC_7rYrMqNN7gpUnT5ZNA8LJiM7gkMLVBzt7GW9rsdzVulvyazVfX22LmcKwwKjio4YPTUtf0T0nDbWp2Z7pf3EitqAWEWWwpfkBUjdO<r=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DNr56Guiec9n-ZTMXxA9SUVGiKQOhTMRdNM16VkCjEGvhj17gHdpOl4eP1Kf6vWVfq6xUC_7rYrMqNN7gpUnT5ZNA8LJiM7gkMLVBzt7GW9rsdzVulvyazVfX22LmcKwwKjio4YPTUtf0T0nDbWp2Z7pf3EitqAWEWWwpfkBUjdO%26wd%3D%26eqid%3Dd61a7a7d000011640000000457ebb3a9&ecd=1&psr=1440x900&par=1375x876&pis=-1x-1&ccd=24&cja=true&cmi=8&col=zh-CN&cdo=-1&tcn=1475064805&qn=4fe6bf408add6e71&dpv=4fe6bf408add6e71&tt=1475064804993.103.452.453" width="960" height="90" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="display: block; border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;"> 新手上路
成長任務 編輯入門 編輯規則 百科術語 我有疑問
我要質疑 我要提問 參加討論 意見反饋 投訴建議
舉報不良信息 未通過詞條申訴 投訴侵權信息 封禁查詢與解封 ?2016Baidu?使用百度前必讀?|?百科協議?|?百度百科合作平臺
?? 登錄
分享
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的迪杰斯特拉算法 两点间最短路径的选择的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。