最新数据结构课程报告

最新数据结构课程报告

ID:858199

大小:241.53 KB

页数:19页

时间:2017-09-21

最新数据结构课程报告_第1页
最新数据结构课程报告_第2页
最新数据结构课程报告_第3页
最新数据结构课程报告_第4页
最新数据结构课程报告_第5页
资源描述:

《最新数据结构课程报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、设计内容与设计要求1.设计内容:[问题描述] 在交通网络非常发达的今天,人们出差、旅游或做其他出行时,不仅关心节省交通费用,而且对里程和所需时间等问题也很感兴趣。对于这样一个人们关心的问题,可用一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城市,边表示城市之间的交通关系。设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到达另外一个城市顶点之间的最短路径(里程)的问题。[基本功能]1).根据实际情况,先建立交通网络图的存储结构。2).求某个城市到达其余各城市的最短路径。

2、3).任一输入两个城市,要求求出他们之间的最短路径。2.设计要求:1).设计正确,方案合理。2).界面友好,使用方便。3).程序精炼,结构清晰。4).设计报告5000字以上,含程序设计说明、系统的功能框图、流程图、源程序清单等。5).实际操作过程中遇到的问题及解决方法:设计总结及心得体会。6).上机演示。二、进度安排第19周星期一8时:00分——11时:30分星期二8时:00分——11时:30分星期三14时:00分——17时:30分星期四14时:00分——17时:30分星期五8时:00分——11时:3

3、0分第20周星期一8时:00分——11时:30分附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的源代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序源代码)。目录1系统需求分22总

4、体设计22.1总体设计图22.2主要功能函数流程图32.3数据结构43详细设计53.1邻接矩阵表示法53.2弗洛伊德算法53.3狄克斯特拉算法64系统调试及运行结果84.1程序调试中的问题84.2程序模块运行结94.2.1程序菜单94.2.2建立目标城市网路94.2.3求任意的两个城市之间的最短路径104.2.4求一个城市到各个城市的最短路径105心得体会116附录136.1源代码136.2参考文献187评分表191系统需求分在交通网络非常发达的今天,人们出差、旅游或做其他出行时,不仅关心节省交通费用

5、,而且对里程和所需时间等问题也很感兴趣。对于这样一个人们关心的问题,可用一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城市,边表示城市之间的交通关系。设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到达另外一个城市顶点之间的最短路径(里程)的问题。利用C语言相关知识设计与开发一个交通咨询系统,交通咨询系统具有以下功能:1.求任意的两个城市之间的最短路径2.求一个城市到各个城市的最短路径2总体设计2.1总体设计图主函数1弗洛伊德算法2狄克斯特拉算法3邻接矩阵表示法4退出程序

6、图2.1整体结构图2.2主要功能函数流程图该模块完成,流程图如图2.2所示:图2.2弗洛伊德算法流程图图2.3狄克斯特拉流程图图2.4建立图流程图图2.5主函数流程图2.3数据结构程序利用C++语言编写,定义结构体数组,通过结构体数组,实现数据的存储与操作。3详细设计3.1邻接矩阵表示法voidCreateMGraph(MGraph*G,intn,inte)//建立图的存储结构采用邻接矩阵表示法,n,e为图的顶点数和边数{inti,j,k,w;//w为权值for(i=1;i<=n;i++);//输入顶

7、点信息G->vexs[i]=i;for(i=1;i<=n;i++)//初始化邻接矩阵for(j=1;j<=n;j++)G->arc[i][j]=maxint;printf("输入%d条路的城市i,城市j及城市间的路程w:",e);for(k=1;k<=e;k++)//读入e条边,建立邻接矩阵{scanf("%d,%d,%d",&i,&j,&w);G->arc[i][j]=w;}printf("城市网路建立完毕");}邻接矩阵是表示顶点之间相邻关系的矩阵,用一个顺序表来存储顶点信息。n,e为

8、图的顶点数和边数,即城市的个数和城市间的道路数。w为图的权值,即城市间道路的路程。3.2弗洛伊德算法voidFloyd(MGraph*G,intn)//弗洛伊德算法求两个城市的最短长度d及路径pathinti,j,k,v,w;for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(G->arc[i][j]!=maxint)path[i][j]=j;//j是i的后继elsepath[i][j]=0;dist[i][j]=G->arc[i

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

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

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