已经利用优先队列实现了查找最短路径长度的dijkstra算法,怎么回溯出最短距离路线上经过的点呢?

2025-01-31 12:40:01
推荐回答(3个)
回答1:

用递归 按你这个代码 就是递归 prev[]数组
不过好像没看到定义prev? 在全局变量定义一个prev[200] 并全部初始化为-1
void search(int v)
{
if(prev[v]!=-1)
search(prev[v]);
printf(" %d",v);
}

回答2:

用一个相同大小的矩阵记录(最多再有一个辅助矩阵)。每做一次判断就更新。最后矩阵中剩下的就是最短路径点了。好久以前做过这个,好像就是这么做的。

回答3:

设一个路径数组。 联系我 695033480