dijkstra算法c語言 C語言對于用bfs求最短路徑的同時(shí),如何記錄路徑?
C語言對于用bfs求最短路徑的同時(shí),如何記錄路徑?例如,如果地圖是二維數(shù)組地圖[n][M],并且記錄了從起點(diǎn)到每個(gè)點(diǎn)的最短路徑(由BFS獲得),則可以從終點(diǎn)向后推,即如果終點(diǎn)為x1,Y1,dist[x
C語言對于用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)。它可以通過DFS來實(shí)現(xiàn)