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