2014-10-27 108 views
-1

http://www.algolist.com/code/c/Dijkstra「s_algorithm的getPath()Dijkstra算法用C

這是獲取最短路徑的代碼。我不知道如何在上述實現中實現getpath()。

如果你在C中有更好的Dijkstra算法實現,那對我來說意義重大。

void getpath(int s, int t, int pred[]) { 
    int current = t; 
    while (current != s) { 
     printf("%d -> ", current); current = pred[current]; 
    } 
    printf("%d\n",current); 
} 
+0

那麼你有什麼嘗試?你遇到任何錯誤?你有任何代碼嗎? – 2014-10-27 05:39:39

+0

void getpath(int s,int t,int pred []){ int current = t; while(current!= s)printf(「%d - >」,current); current = pred [current]; } printf(「%d \ n」,current); } – user3339866 2014-10-27 05:41:29

+1

在評論部分很難閱讀代碼。你可以編輯你的問題,並把你的問題的代碼? – SSC 2014-10-27 05:51:03

回答

0

in this link化妝成本int類型的2D陣列和全局變量調用shortpath(cost,preced,distance);main()

之後,該cost[][] 2D陣列將具有路徑沿與長度選擇其中的最短

應用之前我建議你先理解Dijkstra的算法,首先這裏是鏈接[Dijkstra的算法2http://www.youtube.com/watch?v=0nVYi3o161A