严蔚敏C语言版数据结构源代码 与书上的算法同步

源代码在线查看: func7-2.cpp

软件大小: 221 K
上传用户: lidaniel
关键词: C语言 数据结构 源代码 算法
下载地址: 免注册下载 普通下载 VIP

相关代码

				 // func7-2.cpp 算法7.16,algo7-7.cpp和algo7-9.cpp用到
				 void ShortestPath_FLOYD(MGraph G,PathMatrix P,DistancMatrix D)
				 { // 用Floyd算法求有向网G中各对顶点v和w之间的最短路径P[v][w]及其带权长度D[v][w]。
				   // 若P[v][w][u]为TRUE,则u是从v到w当前求得最短路径上的顶点。算法7.16
				   int u,v,w,i;
				   for(v=0;v				     for(w=0;w				     {
				       D[v][w]=G.arcs[v][w].adj; // 顶点v到顶点w的直接距离
				       for(u=0;u				         P[v][w][u]=FALSE; // 路径矩阵初值
				       if(D[v][w]				         P[v][w][v]=P[v][w][w]=TRUE; // 由v到w的路径经过v和w两点
				     }
				   for(u=0;u				     for(v=0;v				       for(w=0;w				         if(D[v][u]				         { // 从v经u到w的一条路径更短
				           D[v][w]=D[v][u]+D[u][w]; // 更新最短距离
				           for(i=0;i				             P[v][w][i]=P[v][u][i]||P[u][w][i]; // 从v到w的路径经过从v到u和从u到w的所有路径
				         }
				 }
							

相关资源