首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于floyd算法的有关问题

2012-02-29 
关于floyd算法的问题floyd求得是所有点之间的最短路径代价。但是如何改进代码使它也能够保存所有点之间的最

关于floyd算法的问题
floyd求得是所有点之间的最短路径代价。
但是如何改进代码使它也能够保存所有点之间的最小代价?
代码如下:
void   Floyd(int   G[][],int   n)

{

  int   i,j,k;

  for(i=0;i <n;i++)

    for(j=0;j <n;j++)

      G[i][j]=MAX;

 

  for(i=0;i <n;i++)

    for(j=0;j <n;j++)

      for(k=0;k <n;k++)

        if(G[j][k]   >   G[j][i]   +   G[i][k])

          G[j][k]=G[j][i]   +   G[i][k];

  return   ;

}


[解决办法]
运行完毕后G[i][j]就是i到j的最小代价了!!!
[解决办法]
一直用的是迪杰斯特拉算法。。。
[解决办法]
我在关注中~~~~~~
我想知道的是~~~如何求出最短路径~~~如何记录最短路径经过的点。

热点排行