參考dijkstra演算法**
//引數 k 為開始源點
void
dijkstra
(int k)}if
(temp ==-1
)return
; vis[temp]=1
;//根據找到的最短路徑更新 dis
for(
int j =
0; j < n; j++)}
}}}
//dijkstra演算法模板
#include
#include
#include
#define inf 0x3f3f3f
//代表無限大
using
namespace std;
int n,m;
int k;
//查詢的源點
int map[
100]
[100];
//圖int dis[
100]
;//存放從 i 到其他點的最短距離
int vis[
100]
;//存放已經是最短距離的點
void
dijkstra
(int k)}if
(temp ==-1
)return
; vis[temp]=1
;//根據找到的最短路徑更新 dis
for(
int j =
0; j < n; j++)}
}}}int
main
(int argc,
char
** ar**)
cin >> k;
dijkstra
(k);
//輸出
for(
int i =
1; i <= n; i++
)return0;
}
最短路徑演算法之二 Dijkstra演算法
dijkstra演算法 dijkstra演算法主要特點是以起始點為中心向外層層擴充套件,直到擴充套件到終點為止。注意該演算法要求圖中不存在負權邊。首先我們來定義乙個二維陣列edge maxn maxn 來儲存圖的資訊。這個圖的edge 陣列初始化以後為 我們還需要用乙個一維陣列dis 來儲存1 號頂...
HDU3790 最短路徑問題 Dijkstra
problem description 給你n個點,m條無向邊,每條邊都有長度d和花費p,給你起點s終點t,要求輸出起點到終點的最短距離及其花費,如果最短距離有多條路線,則輸出花費最少的。input 輸入n,m,點的編號是1 n,然後是m行,每行4個數 a,b,d,p,表示a和b之間有一條邊,且其長...
最短路徑演算法 最短路
在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整數n m n 100,m 10000 n...