多源最短路算法

1. 方法:

多源最短路算法_第1张图片

2. Floyd算法:

多源最短路算法_第2张图片

void Floyd()
{
	for(i = 0; i < N; i++)
	{
		for(j = 0; j <N; j++)
		{
			D[i][j] = G[i][j];
			path[i][j] = -1;
		}
	}
	for(k = 0; i < N; k++)
	{
		for(i = 0; i < N; i++)
		{
			for(j = 0; j <N; j++)
			{
				if(D[i][j] +D[k][j] < D[i][j])
				{
					D[i][j] = D[i][k] +D[k][j];
					path[i][j] = k;
				}
			}
		}
	}
}


你可能感兴趣的:(多源最短路算法)