如何记录Dijkstra最短路径的过程
摘要:
Dijkstra算法 假设找出v0到其他顶点的最短路径 s[N]初始化为0,如果找到v0到vn的最短路径则把s[n]置一 dist[N]初始化为v0到其他顶点的直接路径,两个没相连的顶点用MAX值代入 1.从所有未找到最短路径的顶点中找出dist最小的数值的下标u,所以s[u]置位。 2.用v0到vu的长度加上vu到其他顶点的长度,如果发现比dist中的小,则更新dist中的数值,但注意此时无需把s[]置位,因为此时得到的并不一定是最短路径。然后跳回1,重新检查v0到s[]中还没被置位的顶点。通过算法我们可以写代码算出各个最短路径的数值,可是问题来了:最短路径是得到了,可是最短路径该怎么走,我 阅读全文
posted @ 2012-07-22 23:30 JacobChen2012 阅读(1473) 评论(1) 推荐(0) 编辑