Floyd-Warshall算法:是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包. 原理: Floyd-Warshall算法的原理是动态规划(DP). 设D_{i,j,k}为从i到j的只以(1..k)集合中的节点为中间节点的最短路径的长度. 若最短路径经过点k,则D_{i,j,k}=D_{i,k,k-1}+D_{k,j,k-1}; 若最短路径不经过点k,则D_{i,j,k}=D_{i,j,k-1}. 因此,D_{i,j,k}=min…