Floyd:
复杂度:
优点:可以处理负权,可以传递闭包
缺点:复杂度太高。
void Floyd(int n)
{
for (int k = 0; k < n; k++)
{
for (int k = 0; k < n; k++)
{
for (int k = 0; k < n; k++)
{
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
/*
有向图的传递闭包
d[i][j] = d[i][j] || (d[i][k] && d[k][j]);
*/
}
}
}
}
本文介绍了一种用于解决图中所有顶点对最短路径问题的经典算法——Floyd算法。该算法能够处理包含负权边的图,并能计算图的传递闭包。尽管其时间复杂度较高,但在某些特定场景下仍十分有用。
&spm=1001.2101.3001.5002&articleId=79186182&d=1&t=3&u=99738d69d3a7440ba8e2e4f4b9382800)

被折叠的 条评论
为什么被折叠?



