图论算法及其MATLAB代码论述.doc

图论算法及其MATLAB程序代码 求赋权图G = (V, E , F )中任意两点间的最短路的Warshall-Floyd算法: 设A = (aij )n×n为赋权图G = (V, E , F )的矩阵, 当vivj∈E时aij = F (vivj), 否则取aii =0, aij = +∞(i≠j ), dij表示从vi到vj点的距离, rij表示从vi到vj点的最短路中一个点的编号. ① 赋初值. 对所有i, j, dij = aij, rij = j. k = 1. 转向② ② 更新dij, rij . 对所有i, j, 若dik + dk j<dij, 则令dij = dik + dk j, rij = k, 转向③. ③ 终止判断. 若dii<0, 则存在一条含有顶点vi的负回路, 终止; 或者k = n终止; 否则令k = k + 1, 转向②. 最短路线可由rij得到. 例1 求图6-4中任意两点间的最短路. 解:用Warshall-Floyd算法, MATLAB程序代码如下: n=8;A=[0 2 8 1 Inf Inf Inf Inf 2 0 6 Inf 1 Inf Inf Inf 8 6 0 7 5 1 2 Inf 1 Inf 7 0 Inf Inf 9 Inf Inf 1 5 Inf 0 3 Inf 8 Inf Inf 1 Inf 3 0

文档评论(0)

1亿VIP精品文档

相关文档