南昌航空大学数据结构与算法实验六.doc_第1页
南昌航空大学数据结构与算法实验六.doc_第2页
南昌航空大学数据结构与算法实验六.doc_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南昌航空大学实验报告课程名称: 数据结构与算法 实验名称: 实验六 图的遍历 班 级: XXX 学生姓名: XXX 学号: XXXXX 指导教师评定: XXX 签 名: XXX 一、实验目的图结构有着广泛的应用。二、实验内容本实验主要涉及两个方面的内容:一个是有关图的最短路径问题,用一个交通查询系统例子来验证迪杰斯特拉算法和费洛伊德算法;而另一个则工程项目实施过程中的关键路径问题。三、程序分析设计一个交通查询系统,能让游客查询从任一城市顶点到另一城市顶点之间的最短路径或最低花费或最少时间等问题。对于不同查询要求,可输入城市间的路程或所需时间或所需费用。本程序共分三个部分:(1)建立交通网络图的存储结构;(2)单源最短路径;(3)实现两个城市顶点之间的最短路径。四、程序源代码该实例程序的源代码如下:(1)建立有向图的存储结构/文件名CreateMGraph.cVoid CreateMGraph(MGraph * G,int n,int e)/采用邻接矩阵表示法构造有向图G,n,e表示图的当前顶点数和边数int i,j,k,w;for(i=1;ivexsi=(char)i;for(i=1;i=n;i+)for(j=1;jvexsij=Maxint;/初始化邻接矩阵printf(输入%d条边的i、j及w:n,e);for(k=1;karcsij=w;printf(有向图的存储结构建立完毕n);/文件dijkstra.cvoid Dijkstra(MGraph *G ,int v1,int n)int D2MVNum,P2MVNum;int v,i,w,min;enum boolean SMVNum;for(v=1;varcsv1v;if(D2vMaxint)P2v=v1;elsep2v=0;D2v1=0;Sv1=TRUE;for(i=2;in;i+)min=Maxint;for(w=1;w=n;w+)if(!Sw& D2wmin)v=w;min=D2w;Sv=TRUE;for(w=1;warcsvwarcsvw;P2w=v;printf(路径长度路径n);for(i=1;i=n;i+)printf(%5d,D2i);printf(%5d,i);v=P2i;while(v!=0)printf(-%d,v);v=P2v;printf(n);/文件floyd.cvoid Floyd(MGraph *G,int n)int i,j,k,w;for(i=1;i=n;i+)for(j=1;jarcsij!=Maxint)Pij=j;elsePij=0;Dij=G-arcsij;for(k=1;k=n;k+)for(i=1;i=n;i+)for(j=1;j=n;j+)if(Dik+Dkj%d,k);k=Pkw;printf(-%d,w);printf(路径长度:%dn,Dvw);elseif(xz=1)printf(求单源路径,输入源点v:);scanf(%d,&v);Dijkstra(G,v,n);printf(结束求最短路径,再见!n);五、实验结果输入图中顶点个数和边数n,e:7,10(表示输入7个顶点和10条边)输入10条边的i、j及w1,7,92,1,202,3,102,4,303,5,55,4,125,7,156,5,86,7,107,3,18有向图的存储结构建立完毕*求城市之间的最短路径*=1求一个城市到所有城市的最短路径2求任意的两个城市之间的最短路径=请选择: 1、或 2、选择 0、退出:1求单源路径,输入源点v:1(表示求从顶点1到其他所有顶点的最短路径)路径长度 路径01 /说明顶点1到1路径长度为0327672 /说明顶点1到2无路径,32767表示27 3-7-1 /说明顶点1到3路径长度为27,路径为1,7,344 4-5-3-7-132 5-3-7-132767697-1*求城市之间的最短路径*=1求一个城市到所有城市的最短路径2求任意的两个城市之

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论