资源描述:
《5交通实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ZUI1VISHIFAIXIXUEYUAM计科系实验报告实验课程名称数据结构课程设计专业班级计算机科学与技术10级1班学生姓名罗泽丽学号1041090仙9指导教师2012至201学年第一学期第一至九周1概述31」现状分析31.2存在的问题31.3实现意义32系统分析31•编写要求32.结构设计33概要设计43.1交通咨询系统模块43.2狄克思拉算法图43.3整体流程图54详细设计64」建立有向图的存储结构64.2地杰斯特拉算法64.3费洛伊徳算法74.4主函数75运行与测试95.1有向图的存储结构建立95.2单源路径的迪
2、杰斯特拉算法95.3调用费洛伊德算法96总结和心得107参考文献108附录101概述1.1现状分析在交通网络非常发达,交通工具盒交通方式不断更新的今天,人们在出差,旅游或做其他行动时,往往由于不知道要去冃的地的路线,从而给人们的出行带来了很大的不便。不仅浪费时间,还有大量的交通费用。1.2存在的问题在人们出行时,有急事的那些人就想很快到达目的地,有些人又想使到达目的地的费用越少越好,而老年人就想周转次数最少,但是由于不知道路线,从而导致了一系列的困难,给人们的出行带来很大的不便。1.3实现意义对于这样一个人们关心的问题可用
3、一个人图结构来表示交通网络系统,利用计算机建立一个交通咨询系统这样极大地方便了人们的出行,使得交通不那么的拥挤,从而让出行者更快,更好的到达想要去的地方。2系统分析1•编写要求(1)(2)(3)(4)提供对城市信息进行编辑的功能.图形界面尽可能的人性化。能够对城市建立交通网络图。提供路径最优决策。2•结构设计1.建立交通网络图的存储结构2.解决单源最短路径3.实现两个城市顶点之间的最短路径。3概要设计3.1交通咨询系统模块3.2狄克思拉算法图初始化距离和路径i>n修改最短路径和距离输出结果3.3整体流程图4详细设计4.1建
4、立有向图的存储结构voidCreateMGraph(MGraph*G,intn,inte){inti,jkw;for(i=l;i<=n;i++)G->vexs[i]=(char)i;for(i=l;i<=n;i++)for(j=l;j<=n;j++)G->arcs[i][j]=Maxint;printf("输A%d条边的i,j及w:",e);for(k=1;kv二e;k++){scanf(”%d,%d,%d”,&i,&j,&w);G->arcs[i][j]=w;1printfC,有向图的存储结构建立完毕!M);4.
5、2地杰斯特拉算法(voidDijkstra(MGraph*G,intvl,intn){intD2[MVNum],p2[MVNum];intv,i,w,min;enumbooleanS[MVNum];for(v=l;v<=n;v++){S[v]二FALSE;D2[v]=G->arcs[v1][v];if(D2[v]6、2[w]arcs[v][w]arcs[v][w];p2lwj=v;}}printfC1路径氏度路径“);for(i=l;i<=n;i++){printf(,,%5d,D2[i]);printf(,,%5d,,,i);v=p2[i];while(v!=O){priiUlTv-%d“,v);v=p2[v];}printf(“”);4.3
7、费洛伊徳算法voidFloyd(MGraph*Gintn){inti,j,k,v,w;fbr(i=l;i<=n;i++)for(j=l;j<=n;j++){if(G->arcs[i][j]!=Maxint)p[i]Ul=j;elsepmui^o;D[i]U]=G->arcs[iJU];}for(k=l;k<=n;k++){fbr(i=l;i<=n;i++)for(j=l;j<=n;j++){if(D[i][k]+D[k][j]8、}}4.4主函数(voidmain()MGraph*G;intm,n,e,v,w,k;intxz=l;G=(MGraph*)mcilloc(sizeof(MGraph));printfC*输入图中顶点个数和边数n,e:H);scanf(t,%d9%d,&n,&e);CreateMGraph(G,n,e