版本 55b5f2b4ad2cd481698150310afa65231d824914
acm/course/Shortest_Path
Shortest Path
Single Source Shortest Path
- 若使用Backtracking演算法,將枚舉所有路徑,必會TLE,因此我們將列舉幾項好用DER演算法!!
###Relaxation - 若點v離source的距離為8、點u離source的距離為3,現在有一個點k,(u,k)長度為2、(k,v)長度為1,則對(u,v)做Relax。Relax後點v離source距離更改為6。
###Bellman Ford - 對所有的邊做n-1次的Relax - 時間複雜度:O(VE)
//Pseudo Code
BellmanFord(){
//init
dis[source]=0;
for(all i != source)
dis[i] = INF;
//n-1 times
for(i=0;i<n-1;i++)
for(each edge w(u,v) in G)
Relax(u,v,w);
}
- 若有負的cycle,每做一次Relax,source至cycle上的點,就會持續變小。
###SPFA()
All Pair Shortest Path
###Floyd