floyd算法:
原理:如果d[i][k] + d[k][j] < d[i][j],更新d[i][j];
伪代码:
for 枚举每个中介点k : 1~n
对每一对(i,j),都进行判断,如果符合不等式,更新;
代码:
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(d[i][k] + d[k][j] < d[i][j] && d[i][k] != INF && d[k][j] != INF)
d[i][j] = d[i][k] + d[k][j];
}
}
}