下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 实验 3:最短路径算法一、实验目的通过本实验的学习,理解floyd(弗洛伊得)最短路径算法的思想二、实验内容用 c 语言编程实现求赋权图中任意两点间最短路径的floyd 算法,并能对给定的两结点自动求出最短路径三、实验原理、方法和手段1、floyd 算法的原理定义:dki,j 表示赋权图中从结点vi 出发仅通过 v0,v1,vk-1 中的某些结点到达 vj 的最短路径的长度,若从 vi 到 vj 没有仅通过 v0,v1, vk-1 的路径,则 di,j=即d-1i,j 表示赋权图中从结点vi 到 vj 的边的长度,若没有从结点 vi 到 vj 的边,则 di,j=d0i,j 表示赋权图中从
2、结点vi 到 vj 的” 最短” 路径的长度 , 这条路上除了可能有 v0 外没有其它结点d1i,j 表示赋权图中从结点vi 到 vj 的” 最短” 路径的长度 , 这条路上除了可能有 v0,v1 外没有其它结点根据此定义, dki,j=min dk-1i,j , dk-1i,k-1+dk-1k-1,j 定义: pathi,j 表示从结点 vi 到 vj 的“最短”路径上vi 的后继结点四、实验要求要求输出每对结点之间的最短路径长度以及其最短路径五、实验步骤(一)算法描述step 1 初始化有向图的成本邻矩阵d、路径矩阵 path 若从结点 vi 到 vj 有边,则 di,j= vi 到 vj
3、 的边的长度, pathi,j= i;否则 di,j=, pathi,j=-1 step 2 刷新 d、path 对 k=1,2,n 重复 step 3和 step 4 step 3 刷新行对 i=1,2,n 重复 step 4 step 4 刷新 mij 对 j=1,2,n 若 dk-1i,k+dk-1k,j dk-1i,j , 则置 dki,j= dk-1i,k+dk-1k,j ,pathi,j=k;否则不变结束循环 结束 step 3循环 结束 step 2循环 step 5 退出2 (二)程序框图参考主程序框图int i,j,k初初初初初 a初pfor(k=0;kd;k+) /初初初初
4、 a初pfor(i=0;id;i+) for(j=0;jaik+akjaij=aik+akj;pathij=k;ny初初初初初初 pfor(i=0;id;i+)/初初初初初初for(j=0;j ”,x);/ 打印中间结点dist(first,x);/ 递归调用dist(x,end); 3 七、测试用例:1、输入成本邻接矩阵: d:06380532290141003210vvvvvvvv(其中可用某个足够大的数据值代替,比如100)可得最短路径矩阵: p:131132122211111010103210vvvvvvvv以及各顶点之间的最短路径和最短路径长度:从 v0 到 v1 的最短路径长度为:
5、 1 ;最短路径为: v0v1 从 v0 到 v2 的最短路径长度为: 9 ;最短路径为: v0v1v3v2 从 v0 到 v3 的最短路径长度为: 3 ;最短路径为: v0v1v3 从 v1 到 v0 的最短路径长度为: 11;最短路径为: v1v3v2v0 从 v1 到 v2 的最短路径长度为: 8 ;最短路径为: v1v3v2 从 v1 到 v3 的最短路径长度为: 2 ;最短路径为: v1v3 从 v2 到 v0 的最短路径长度为: 3 ;最短路径为: v2v0 从 v2 到 v1 的最短路径长度为: 4 ;最短路径为: v2v0v1 从 v2 到 v3 的最短路径长度为: 6 ;最短
6、路径为: v2v0v1v3 从 v3 到 v0 的最短路径长度为: 9 ;最短路径为: v3v2v0 从 v3 到 v1 的最短路径长度为: 10;最短路径为: v3v2v0v1 从 v3 到 v2 的最短路径长度为: 6 ;最短路径为: v3v2 参考程序:#include #define infinity 100 #define max 10 int amaxmax,pmaxmax; main() void print_flod(int d); 4 int i,j,k,d=4; printf( 请输入成本邻接矩阵: n); for(i=0;id;i+) for(j=0;jd;j+) scanf(%d,&aij); for(i=0;id;i+) for(j=0;j0& aijinfinity) pij=i; else pij=-1; for(k=0;kd;k+) for(i=0;id;i+) for(j=0;jd;j+) if (aik+akjaij) aij=aik+akj; pij=k; print_fl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 秋日乡村美景-写景作文(15篇)
- 描述一次旅行中的难忘人物作文7篇
- 2025中国建材集团数字科技有限公司招聘6人笔试历年参考题库附带答案详解
- 2025中化集团金融科技创新中心招聘行政综合岗1人(北京)笔试历年参考题库附带答案详解
- 建设工程施工承诺书3篇
- 娄底市农业农村局下属事业单位2025年公开招聘工作人员备考题库及参考答案详解一套
- 2026年盐城经济技术开发区中韩产业园建设办公室公开招聘劳务派遣工作人员备考题库及1套参考答案详解
- 2026年光伏电站冬季运维实操题库含答案
- 2026年法理学民间法试题及答案
- 2026年食品安全法处罚速记题库含答案
- 2025年银行县支行支部书记抓党建述职报告
- 畜牧技术员安全培训效果测试考核试卷含答案
- 2026届天津一中高三语文第一学期期末质量检测模拟试题含解析
- 2026年湖南邮电职业技术学院单招职业技能考试参考题库附答案详解
- 小学三年级语文上册期末复习知识点总结课件
- 2025-2026学年第一学期初中物理教研组工作总结报告
- 2026年Q1电商店铺运营非遗文化商品上架调研
- 2025-2026学年北师大版高二数学上学期期末常考题之随机事件的条件概率
- 2026年小学一二年级第一学期无纸笔化考核方案及测试题(一二年级语文数学)
- 2025四川金融控股集团有限公司招聘16人笔试参考题库附带答案详解(3卷合一)
- 2025年人文常识竞赛题库及答案
评论
0/150
提交评论