多源最短路径
void floyd()
{
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
d[i][j] = g[i][j]; //g[i][j]是图的邻接矩阵
path[i][j] = -1;
}
}
for(k = 0; k < n; k++)
{
for(j = 0; j < n; j++)
{
for(i = 0; i < n; i++)
{
if(d[i][k] + d[k][j] < d[i][j])
{
d[i][j] = d[i][k] + d[k][j];
path[i][j] = k;
if(i == j && d[i][j] < 0) //发现负值圈
{
return false;
}
}
}
}
}
}
图 Floyd多源最短路径
最新推荐文章于 2022-11-28 08:00:00 发布