最短路之Floyd算法

Floyd-Warshall算法

用途:

计算图中每两点之间的最短距离;

初始化:

d[i][i]=0;

其余为INF;

代码:

for(int k=0;k<n;++k)
	for(int i=0;i<n;++i)
		for(int j=0;j<n;++j)
			if(d[i][j]<INF&&d[k][j]<INF)
				d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
含义:

枚举中间节点,不断松弛路径;

其本质是一个dp;


你可能感兴趣的:(图论)