最短路算法总结(4.28)


FLloyed算法--N3

求任意两点间最短路径

FOR(i,1,n) FOR(j,1,n) FOR(k,1,n){

  //可同时判断两点之间是否相连

  dis[i][j] = min(dis[i][k] + dis[k][j] , dis[i][j]);

}

 


DIJKSTRA算法--N2

(不能处理负边权)

从一个点到其他所有点的最优算法

需要要素:dis[]从起点到该点的最短路||pre[]前驱节点,用来输出路径

初始化:dis[v] = inf  dis[s] = 0  pre[s] = 0

FOR(i,1,n){
    //在没有被访问过的点中找一个顶点u使得dis[u]最小
    //对u通向的未访问的点更新dis
}

 

posted @ 2022-04-28 20:19  yinfelix  阅读(23)  评论(0)    收藏  举报