dijkstra最短路徑例題 C語言對于用bfs求最短路徑的同時,如何記錄路徑?
C語言對于用bfs求最短路徑的同時,如何記錄路徑?例如,如果地圖是二維數(shù)組地圖[n][M],并且記錄了從起點到每個點的最短路徑(由BFS獲得),則可以從終點向后推,即如果終點為x1,Y1,dist[x
C語言對于用bfs求最短路徑的同時,如何記錄路徑?
例如,如果地圖是二維數(shù)組地圖[n][M],并且記錄了從起點到每個點的最短路徑(由BFS獲得),則可以從終點向后推,即如果終點為x1,Y1,dist[x1][Y1]=D,(Xi,Yi)是與(x1,Y1)相連的點,如果dist[Xi][Yi]=D-1,然后它可以從(Xi,Yi)到(x1,Y1),然后繼續(xù)尋找,直到找到起點。它可以通過DFS實現(xiàn)
7,6,3。例如,假設(shè)倒數(shù)第二個點是5,6,7,然后找到從1到5.1,8的路徑,長度是25.1,3,5,8,長度是23,6。相互比較以得到最短路徑。再往前推,路徑長度1,3,7,8是19