您的位置:首页 > 其它

P103 任意两点之间的最短路问题 Floyd_warshall算法

2016-03-03 14:06 260 查看
//任意两点间的最短路问题 Floyd-Warshall算法
//只使用0~k, i,j的情况下,i到j的最短距离;
/*
d[k][i][j]  d[k-1][i][j] **G[i][k]  **G[k][j]        G[k][i] G[j][k]
d[k-1][i][k]  d[k-1][k][j]
*/
d[k][i][j]=min(d[k-1][i][j],d[k-1][i][k]+d[k-1][k][j]);

///int G[MAX_V][MAX_V];
///实际上采用循环更新就行了
///DP求任意两点之间的最小路问题
int d[MAX_V][MAX_V];

void floyd_warshall()
{
for(int k=0;k<num_v;k++)
for(int i=0;i<num_v;i++)
for(int j=0;j<num_v;j++)
d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: