我想用dijktra的算法打印一個特定的鄰接矩陣的最短路徑。我的dijkstra算法工作正常,我得到正確的距離。但是,當打印出路徑時,我得到的路徑不正確。這裏是我打印路徑的代碼:最短路徑Dijkstra Java
我的第一堂課是我的驅動程序,它採用了一個鄰接矩陣。矩陣包含文件頂部的大小,中間的實際矩陣以及文件末尾的源頂點。這一切都適用於計算最短距離。以下是我的完整代碼。
public void findPath(int size, int s) {
// print the path and the distance of each vertex
int j;
// iterate to find the distances
for (int i = 0; i < size; i++) {
System.out.print("[" + distance[i] + "] ");
if (i != 0) {
System.out.print(s);
j = i;
do {
j = path[j];
System.out.print(" <- " + j);
} while (j != startVertex);
}
System.out.println();
}
}
}
如何一定是你,'我的Dijkstra算法正常工作,我得到了正確的distances',因爲你無法正確顯示這些? – Eypros
@Eypros因爲距離顯示正確。例如,我的距離是2 - 1is [5],以便正確顯示。路徑本身從2到1不能正確顯示。 – waterboy21