首先这是个单源最短路径的算法,要用到队列,类似于bfs的思想,先用邻接矩阵p[n][m]保存路径,先将遍历数vis[i]组置为0,初始化dis[i]表示已知的初始点到点的距离,dis[起始点]为0,其他的置为INF(最大值),先将起始点的情况放入队列中,vis[起点]=1;当队列不为空时,先取出队头,遍历所有节点,如果存在dis[当前节点]>dis[k]+p[k][当前],那么将标号k放入队列,将vis[k]=1;循环结束后将vis[当前]=0,继续直到队列为空
例题:
另外一篇博客:点击打开链接