/*
theme:單源最短路經的迪傑斯特拉演算法(dijkstra)
author:liu
date:2018/6/6
*//*
解題步驟:
1.將源點加入頂點集v,邊集e為空
2.選擇與頂點v中相連出去的圖中最短的路徑,加入e集合,新的頂點加入v集合
3.重複步驟2,知道所有頂點都在集合v中
*/#includeusing namespace std;
#define maxnum 1000
class graph
;void graph::input()
for (int i = 0; i<_n; i++)
//初始化
for (int i = 0; i<_n; i++) }
//輸入距離
int a, b;
for (int i = 0; i<_e; i++)
cin >> _sor;
}void graph::init()
_min_dis[_sor] = 0;
_flag[_sor] = 1;
_path[_sor] = _sor;
}void graph::dijkstra()
if (_min_dis[j] < min_now)
}} if (next_pick == -1)//沒有源點可以達到的點了
break;
pick = next_pick;
_flag[pick] = 1; }}
void graph::output()
cout << j << '\n';
} }}int main()
單源最短路徑 迪傑斯特拉演算法
dijkstra 演算法 中文名 迪傑斯特拉演算法 是由荷蘭計算機科學家 edsger wybe dijkstra 提出。該演算法常用於路由演算法或者作為其他圖演算法的乙個子模組。舉例來說,如果圖中的頂點表示城市,而邊上的權重表示城市間開車行經的距離,該演算法可以用來找到兩個城市之間的最短路徑。我們...
Dijkstra(迪傑斯特拉) 單源最短路
在圖中,我們可以指定乙個點為起點,計算它到其餘各點的最短路徑。我們尋找乙個與它之間最近的點,以此為基礎不斷的更新它經過此點到其他點的最短路,並重複這個過程,直到所有的點都被尋找一遍。include include includeusing namespace std const int maxn 1...
最短路 (迪傑斯特拉)
a 最短路 crawling in process.crawling failed time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 2544 description 在...