- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 说 明 书
课程名称: 数据结构
设计题目: 医院选址问题
院 系:计算机科学与信息技术
学生姓名:
学 号:
专业班级: 软件工程一班
指导教师:
2012年 6月 10日课 程 设 计 任 务 书
设计题目
医院选址问题
学生姓名
所在院系
计算机科学与信息技术
专业、年级、班
10级软件工程
1班
设计要求:
n个村庄之间的交通图可以用有向网图来表示,图中边vi, vj上的权值表示从村庄i到村庄j的道路长度。现在要从这n个村庄中选择一个村庄新建一所医院,要求找出能使所有的村庄到医院的距离都比较近的村庄。且满足以下要求:
1、可根据顶点数目n随机生成村庄直接交通图,并输出显示。
2、给出符合要求的村庄的名称。
学生应完成的工作:
使用C语言构造有向带权图,并将其用邻接矩阵的方式存储。使用Floyd算法对图进行操作,生成该图各点到各点的最短路径的邻接矩阵。求出其余点到某点的最短路径的和,并找出这些和里面的最小值,则该点即为所求点。
参考文献阅读:
数据结构(C语言版)
工作计划:
首先对题目进行理解,明白需要该问题所包含的数据类型与算法。然后进行程序的编写,对主要功能的实现。最后测试数据并完善程序相关功能。
任务下达日期: 2012 年 6 月 2 日
任务完成日期: 2012 年 6 月 8 日
指导教师(签名): 学生(签名):
(设计题目)
摘 要:
本程序使用C语言构造有向带权图,并将其用邻接矩阵的方式存储。使用Floyd算法对图进行操作,生成该图各点到各点的最短路径的邻接矩阵。求出其余点到某点的最短路径的和,并找出这些和里面的最小值,则该点即为所求点。
关键词:
图 Floyd算法 最短路径
目 录
1. 设计背景 - 1 -
1.1 可解决实际问题 - 1 -
1.2 可进行数据测试 - 1 -
2.设计方案 - 1 -
2.1 主函数进行分支的选择 - 1 -
2.2 解决具体问题分支的设计 - 2 -
2.3 随机数据测试分支的设计 - 2 -
3. 方案实施 - 3 -
3.1 图的结构体定义 - 3 -
3.2 主函数 - 3 -
3.3 已知信息的图的构建 - 3 -
3.4 随机生成图的构建 - 3 -
3.5 核心算法(Floyd算法) - 4 -
3.6 源程序 - 4 -
4. 结果与结论 - 9 -
4.1 功能选择界面 - 9 -
4.2 选择分支1(输入数据) - 9 -
4.3 选择分支2(随机生成数据) - 10 -
5. 收获与致谢 - 11 -
6. 参考文献 - 12 -
7. 附件 - 12 -
1. 设计背景
1.1 可解决实际问题
通过编写的程序,可以根据录入的相关数据(包括村庄数目、道路数目、道路的起点和终点以及路程),找出最适合的医院选址,使各村庄到该医院的路程最短。并对一些相关的关键数据进行输出,以便看到其实现过程。通过该过程可以使用其解决遇到的具体问题。
1.2 可进行数据测试
通过编写的程序,可以随机生成相关数据(包括村庄数目、道路数目、道路的起点和终点以及路程),并找出最适合的医院选址,使各村庄到该医院的路程最短。并对一些相关的关键数据进行输出,以便看到其实现过程。通过该过程可以测试算法的普遍适用性。
2.设计方案
2.1 主函数进行分支的选择
2.2 解决具体问题分支的设计
分支1
输入产生村庄数与道路数
输入道路起点、终点与路程
CreateGraph函数构造图的邻接矩阵存储
ShortestPath_Floyd函数寻找最短路径,并求其和的最小值输出
结束
2.3 随机数据测试分支的设计
3.方案实施
3.1 图的结构体定义
对图的结构进行定义,存储方式为邻接矩阵的形式(arcs[MAX_NUM][MAX_NUM]),
包含vexnum(顶点)与arcnum(边)2个基本变量(之前将点与点之间的最大值MAX定义为10000),在程序中为:
typedef struct
{ }Graph;这一部分。
3.2 主函数
首先产生一个有向带权图G,然后使用P[MAX_NUM][MAX_NUM][MAX_NUM]存放每对顶点的最短路径,D[MAX_NUM][MAX_NUM]存放每对顶点的最短路径的
文档评论(0)