当前位置:   article > 正文

数据结构------最短路弗洛伊德算法(Flody)

flody

目录

前言

          一、Foldy代码核心介绍

 二、Flody代码详解:

三、所有代码:

四、 Foldy算法分析:

总结


前言

如果你要求所有顶点至所有顶点的最短路径问题时,弗洛伊德算法是非常不错的选择。因为它十分简洁。

一、Foldy代码核心介绍

(1)  两个二维数组D[v][w] 和P[v][w],分别存最短距离和最短路径。

(2) D[v][w] = min(D[v,w] ,D[v][k]+D[k][w])

 二、Flody代码详解:

  1. /*Floyd算法,求网图G中各顶点v到其余顶点w的最短路径P[v][w]及带权长度D[v][w]*/
  2. void ShortestPath_Floyd(MGraph G,Patharc*P,ShortPathTable* D)
  3. {
  4. int v, w, k;
  5. /*初始化D与P*/
  6. for (v = 0; v < G.numVertexes; v++)
  7. {
  8. for (w = 0; w < G.numVertexes; w++)
  9. {
  10. (*D)[v][w] = G.arc[v][w];
  11. (*P)[v][w] = w;
  12. }
  13. }
  14. for (k = 0; k < G.numVertex
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号