关于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的最小代价了!!!
[解决办法]
一直用的是迪杰斯特拉算法。。。
[解决办法]
我在关注中~~~~~~
我想知道的是~~~如何求出最短路径~~~如何记录最短路径经过的点。