Floyd算法求最短路径并记录路径
来源:互联网 发布:js 判断对象未定义 编辑:程序博客网 时间:2024/05/01 16:44
基本模型
从最开始只允许经过1号顶点中转,接下来允许经过1号和2号中转……..允许经过1~n号所有的顶点进行中转,求任意两点间的最短路程。用一句话概括就是:从i号顶点到j号顶点之经过前k号的最短路程。
实例
求任意两点之间的最短路径
#include <stdio.h>#define INF 10000int e[4][4]={ 0,2,6,4, INF,0,3,INF, 7,INF,0,1, 5,INF,12,0};int path[4][4] = {0};void floyd(){ int i,j,k; for(i=0;i<4;i++) for(j=0;j<4;j++) for(k=0;k<4;k++) if(e[i][k]<INF&&e[k][j]<INF&&e[i][j]>e[i][k]+e[k][j]){ e[i][j] = e[i][k] + e[k][j]; path[i][j] = k; }}void getPath(int i ,int j){ if(i==j) return; if(path[i][j]==0) printf("%c ",j+'a'); else{ getPath(i,path[i][j]); getPath(path[i][j],j); }}int main(){ char start,end; printf("输入起点编号和终点编号:"); scanf("%c %c",&start,&end); floyd(); printf("最短路径为:%d,具体如下:\n%c ",e[start-'a'][end-'a'],start); getPath(start-'a',end-'a'); return 0;}
0 0
- Floyd算法求最短路径并记录路径
- Floyd算法(记录路径)
- Floyd算法(不记录路径)
- Floyd算法并输出路径
- Floyd算法求最短路径
- Floyd算法求最短路径
- 多源最短路径floyd算法
- 全源最短路径算法-Floyd
- Floyd算法求多源最短路径
- Floyd 多源最短路径算法
- 多源最短路径Floyd算法
- Floyd算法--多源最短路径
- Floyd多源最短路径算法
- 多源最短路径--floyd算法
- floyd算法 多源最短路径
- Floyd算法重建路径
- 求最短路径算法之Floyd算法
- Poj 1125 (Floyd算法求最短路径)
- 测试代码
- 一套完整的UI设计规范手册(Android版)
- xcode真机调试包(持续更新,最新10.3)
- js金额的格式化效果
- 记一次和阿里某总监对话引发的思考:说说你框架的设计思路和优点亮点!
- Floyd算法求最短路径并记录路径
- 清除本目录所有文件、目录
- VMware三种网络模式
- 1.windows网络配置无法上网
- AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面
- android studio下jni传递int,String,数组类型的参数
- 王朝 你成就了我
- 欢迎使用CSDN-markdown编辑器
- 【Dubbo三】SSM集成Dubbo+Zookeeper实现服务化