南昌航空大学数据结构与算法实验六

南昌航空大学数据结构与算法实验六

ID:34143504

大小:52.50 KB

页数:10页

时间:2019-03-03

南昌航空大学数据结构与算法实验六_第1页
南昌航空大学数据结构与算法实验六_第2页
南昌航空大学数据结构与算法实验六_第3页
南昌航空大学数据结构与算法实验六_第4页
南昌航空大学数据结构与算法实验六_第5页
资源描述:

《南昌航空大学数据结构与算法实验六》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、...南昌航空大学实验报告课程名称:数据结构与算法实验名称:实验六图的遍历班级:XXX学生姓名:XXX学号:XXXXX指导教师评定:XXX签名:XXX一、实验目的图结构有着广泛的应用。二、实验内容本实验主要涉及两个方面的内容:一个是有关图的最短路径问题,用一个交通查询系统例子来验证迪杰斯特拉算法和费洛伊德算法;而另一个则工程项目实施过程中的关键路径问题。三、程序分析设计一个交通查询系统,能让游客查询从任一城市顶点到另一城市顶点之间的最短路径或最低花费或最少时间等问题。对于不同查询要求,可输入城市间的路程或所需时间或所需费用。本程序共分三个部分:(1)建立交通

2、网络图的存储结构;(2)单源最短路径;(3)实现两个城市顶点之间的最短路径。四、程序源代码该实例程序的源代码如下:  (1)建立有向图的存储结构  //文件名CreateMGraph.c  VoidCreateMGraph(MGraph*G,intn,inte)  {//采用邻接矩阵表示法构造有向图G,n,e表示图的当前顶点数和边数inti,j,k,w;......for(i=1;i<=n;i++)G->vexs[i]=(char)i;for(i=1;i<=n;i++)for(j=1;j<=n;j++)G->vexs[i][j]=Maxint;//初始化邻接

3、矩阵printf("输入%d条边的i、j及w:",e);for(k=1;k<=e;k++){scanf("%d,%d,%d,",&i,&j,&w);G->arcs[i][j]=w;}printf("有向图的存储结构建立完毕");    }  //文件dijkstra.c  voidDijkstra(MGraph*G,intv1,intn)  {intD2[MVNum],P2[MVNum];intv,i,w,min;enumbooleanS[MVNum];for(v=1;v<=nv++){S[v]=FALSE;D2[v]=G->arcs[v1][v];

4、......if(D2[v]arcs[v][w]arcs[v][w];P2[w]=v;}}......printf("路径长度路径");for(i=1;i<=

5、n;i++){printf("%5d",D2[i]);printf("%5d",i);v=P2[i];while(v!=0){printf("<-%d",v);v=P2[v];}printf("");  }   }   //文件floyd.c   voidFloyd(MGraph*G,intn)  {inti,j,k,w;for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(G->arcs[i][j]!=Maxint)P[i][j]=j;......elseP[i][j]=0;D[i][j]=G->arcs[i][j];}for(k

6、=1;k<=n;k++){for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(D[i][k]+D[k][j]

7、um];Adjmatrixarcs[MVNum][MVNum];}MGraph;intD1[MVNum],P1[MVNum];intD[MVNum][MVNum],P[MVNum][MVNum];#include"CreateMGraph.c"#include"dijkstra.c"#include"floyd.c"voidmain(){MGraph*G;intm,n,e,v,w,k;intxz=1;G=(MGraph*)malloc(sizeof(MGraph));printf("输入图中顶点个数和边数n,e:");scanf("%d,%d",&n,&e)

8、;CreateMGraph(G,n,e);w,hil

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。