地铁建设问题数据结构课程设计.docx
- 文档编号:1678183
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:13
- 大小:37.68KB
地铁建设问题数据结构课程设计.docx
《地铁建设问题数据结构课程设计.docx》由会员分享,可在线阅读,更多相关《地铁建设问题数据结构课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
地铁建设问题数据结构课程设计
软件学院
课程设计报告书
课程名称数据结构课程设计
设计题目地铁建设问题
专业班级
学号
姓名
指导教师
2013年1月
1设计时刻1
2设计目的1
3设计任务1
4设计内容1
需求分析1
整体设计2
详细设计4
测试与分析11
测试11
分析13
附录14
5总结与展望20
参考文献22
成绩评定22
1设计时间
2013年1月16日至2013年1月21日
2设计目的
数据结构是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。
数据结构是实践性很强的课程。
课程设计是加强学生实践能力的一个强有力手段。
要求学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C程序并上机调试的基本方法。
课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。
严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。
3设计任务
某城市要在各个辖区之间修建地铁,由于地铁建设费用昂贵,因此需要合理安排地铁建设线路,使市民可以沿地铁到达各个辖区,并使总费用最小。
1.输入各个辖区名称和各辖区间直接距离(地铁铺设费用与距离成正比);
2.根据辖区距离信息,计算出应该在哪些辖区建立地铁线路;
3.输出应该建设的地铁线路及所需建设总里程。
4设计内容
需求分析
1、程序所能达到的功能:
(1)根据输入的辖区信息,建立图模型,使用的数据结构是无向图,采用邻接矩阵存储。
(2)根据普利姆算法计算最小生成树。
(3)输入各个辖区代号,名称和各辖区间直接距离(地铁铺设费用与距离成正比)。
(4)根据辖区距离信息,计算出应该在哪些辖区建立地铁线路。
(5)输出应该建设的地铁线路及所需建设总里程。
2、输入的形式及内容:
包括城市名称、城市间距离权值、起始地点,详见测试部分。
3、输出的形式及内容:
包括生成的邻接表、应建设铁路的辖区名称及权值、最终地铁的总里程,详见测试部分。
4、测试数据:
四个城市abcd及其之间的距离权值,详见测试部分。
总体设计
数据类型的定义
1.图的邻接矩阵存储数据类型定义:
typedefstruct{
charV[M][10];
intR[M][M];
intvexnum;Graph;)
2.辅助数组数据类型定义:
typedefstruct{
intadjvex;
intlowcost;}
closedge[MAX];
基本操作:
CreateCity(&G)
操作结果:
构造一个无向图G;
LocateDistri(Graphg,intu)
操作结果:
找出目标城市的位置;
Min(Graphg,closedgeclosedge)
操作结果:
求出点与点之间的最短路径;
Prim(G,[1])
操作结果:
用普里姆算法找到连接各辖区的最短路;
主程序的流程
主程序的流程如图1所示:
图1
各程序模块之间的层次(调用)关系
各程序模块之间的层次(调用)关系如图2所示:
图2
详细设计
预处理
#include<>
#include<>
#include<>
#include<>
#defineINFINITY10000
#defineM20
typedefstruct{owcost!
=0)
{
m=1;
k=i;
}
if(m==1&&a[i].lowcost!
=0)
{
if(a[i].lowcost k=i; } } returnk; } 定位函数 intlocatevex(Graph*g,chara[10])owcost! =0) { m=1; k=i; } if(m==1&&a[i].lowcost! =0) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地铁 建设 问题 数据结构 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)