频道栏目
首页 > 资讯 > 其他 > 正文

Floyd算法验证

17-11-22        来源:[db:作者]  
收藏   我要投稿

输出描述:每对顶点最短路径

用到了graph.h

*/

#include

#include

#include "graph.h"

#define MaxSize 100

void Ppath(int path[][MAXV],int i,int j) //前向递归查找路径上的顶点

{

int k;

k=path[i][j];

if (k==-1) return; //找到了起点则返回

Ppath(path,i,k); //找顶点i的前一个顶点k

printf("%d,",k);

Ppath(path,k,j); //找顶点k的前一个顶点j

}

void Dispath(int A[][MAXV],int path[][MAXV],int n)

{

int i,j;

for (i=0; iA[i][k]+A[k][j])

{

A[i][j]=A[i][k]+A[k][j];

path[i][j]=k;

}

}

Dispath(A,path,g.n); //输出最短路径

}

int main()

{

MGraph g;

int A[4][4]=

{

{0, 5,INF,7},

{INF,0, 4,2},

{3, 3, 0,2},

{INF,INF,1,0}

};

ArrayToMat(A[0], 4, g);

Floyd(g);

return 0;

}

运行结果:

学习心得:

通过这次学习和练习,我学会了使用floyd算法。

相关TAG标签
上一篇:vim的简单配置文件
下一篇:拓扑排序算法验证
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站