地铁建设问题数据结构课程设计Word
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件学院
课程设计报告书
课程名称数据结构课程设计
设计题目地铁建设问题
专业班级
学号
姓名
指导教师
2013 年 1 月
目录
1 设计时间 (1)
2 设计目的 (1)
3设计任务 (1)
4 设计内容 (1)
4.1需求分析 (1)
4.2总体设计 (2)
4.3详细设计 (4)
4.4测试与分析 (11)
4.4.1测试 (11)
4.4.2分析 (13)
4.5 附录 (14)
5 总结与展望 (20)
参考文献 (22)
成绩评定 (22)
操作结果:构造一个无向图G;
LocateDistri(Graph g,int u)
操作结果:找出目标城市的位置;
Min(Graph g,closedge closedge)
操作结果:求出点与点之间的最短路径;
Prim(G,G.distrinam[1])
操作结果:用普里姆算法找到连接各辖区的最短路;
4.2.3主程序的流程
主程序的流程如图1所示:
图1
4.2.4各程序模块之间的层次(调用)关系
各程序模块之间的层次(调用)关系如图2所示:
图2
4.3详细设计
4.3.1预处理
#include
#include
#include
#include
#define INFINITY 10000
#define M 20
typedef struct{ //创建图的结构体
char V[M][10]; //顶点数组,用来存储辖区的值即辖区的名称
4.4.1测试
测试数据:
1.以图3为例
图 3
2.输入城市区域名称,如图4所示:
图 4
3.根据需要,依次输入各个区域代号和边的权值,如图5所示:
图 5
4.根据提示,输入地铁站的起始地点如图6所示:
图 6
5.输出最终结果,如图7所示:
图 7
4.4.2分析
1.调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析
在设计之初,我对于整个算法的思路的理解并不清晰。最首要的任务就是选择合适的计算思路,并加以实现。经过查阅,我发现解决此类问题的核心思想就是最小生
在实验过程中遇到的最大难题是普里姆算法的编写。通过在书上和网上查阅资料,询问同学老师,结合之前上机实验的经验,我理清思路。经过编写,调试,最终完成了程序的设计。
2.算法的时间复杂度和空间复杂度的分析
本程序算法的时间复杂度为O(n^3),空间复杂度为O(2n) 表达是求值,主要是运用栈的相关知识解决的问题。在此问题之中要运用到函数的多次调用等等。
3.针对可能出现的输入错误,作出相应的应对措施:
如输入辖区之间的权值时,当输入错误的辖区时会有报错提示,如图8所示:
图8
4.5 附录
源程序:
#include
#include
#include
#include
#define INFINITY 10000
#define M 20
(本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您的好评与关注!)