Advertisement

C语言实现Floyd算法的最短路径

阅读量:

Floyd算法通过直接调用二维数组的方式,计算出图中任意两个顶点之间的最短路径。

D矩阵用于存储各个顶点之间最短路径的权重总和。

P矩阵则用于记录对应顶点在最短路径中的前驱节点信息。

以下代码已在DEV C++环境中完成调试,并成功运行。

复制代码
 #include <stdio.h>  
    
                                          
    
 #define INFINITY 65535
    
  
    
 typedef int VertexType;   //顶点是字符型
    
 typedef int EdgeType;   //边是整型
    
 typedef struct    //图的邻接矩阵存储结构
    
 {  
    
  
    
     VertexType vexs[9];  //顶点向量  
    
  
    
     EdgeType edges[9][9];     //邻接矩阵  
    
  
    
     int vexnum,arcnum;    //图中当前的顶点数和边数  
    
  
    
 }MGraph;  
    
  
    
 /* 邻接矩阵的建立*/ 
    
  
    
 void Creat

全部评论 (0)

还没有任何评论哟~