医院选址问题

医院选址问题

ID:82215570

大小:340.00 KB

页数:13页

时间:2022-10-18

上传者:U-145318
医院选址问题_第1页
医院选址问题_第2页
医院选址问题_第3页
医院选址问题_第4页
医院选址问题_第5页
医院选址问题_第6页
医院选址问题_第7页
医院选址问题_第8页
医院选址问题_第9页
医院选址问题_第10页
资源描述:

《医院选址问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

课程设计任务书2011—2012学年第1学期电子与信息工程系计算机科学与技术专业班级课程设计名称:数据结构课程设计设计题目:医院选址问题完成期限:自2012年1月2日至2012年1月6日共1周一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。二、设计要求1.重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;2.按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;3.学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;4.认真编写课程设计报告。三、设计内容医院选址问题1.问题描述n个村庄之间的交通图可以用有向网图来表示,图中边上的权值表示从村庄i到村庄j的道路长度。现在要从这n个村庄中选择一个村庄新建一所医院,问这所医院应建在哪个村庄,才能使所有的村庄离医院都比较近?2.基本要求(1)建立模型,设计存储结构;(2)设计算法完成问题求解;(3)分析算法的时间复杂度。3.设计思想医院选址问题实际是求有向图中心点的问题。首先定义顶点的偏心度。设图G=(V,E),对任一顶点k,称E(k)=max{d(i,k)}(i∈V)为顶点k的偏心度。显然,偏心度最小的顶点即为图G的中心点。如图7(a)所示是一个带权有向图,其各顶点的偏心度如图(b)所示。123451253214顶点偏心度a¥b6b8d5e7(a)(b)图7带权有向图及各顶点的偏心度2

1医院选址问题的算法用伪代码描述如下:1.对加权有向图,调用Floyd算法,求每对顶点间最短路径长度的矩阵;2.对最短路径长度矩阵的每列求大值,即得到各顶点的偏心度;3.具有最小偏心度的顶点即为所求。【思考题】图的存储结构和算法的设计需要一定的灵活性和技巧。从医院选址问题的求解过程,你有什么感想?答:通过将图存储的方法很多,这儿用数组,简单化数据,可以更好的编号和运行程序。一、参考文献1.王红梅.数据结构.清华大学出版社2.王红梅.数据结构学习辅导与实验指导.清华大学出版社3.严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社2

2目录一、需求分析1二、概要设计1三、详细设计2四、调试分析4五、核心源程序清单和执行结果6六、感想与体会10

3一、需求分析1.程序的功能;从n个村庄中选择一个村庄新建一所医院,使这所医院离所有村庄都比较近。2.输入输出的要求;输入:每个村庄的起点、终点和距离。输出:离所有村庄都比较近的医院位置3.测试数据。123451253214顶点偏心度a¥b6b8d5e7(a)(b)图1带权有向图及各顶点的偏心度上图为测试数据二、概要设计该程序使用数组存储矩阵,即顺序表存储结构。开始A:输入村庄数B:输入道路数C:create函数得到原始邻接矩阵Floyd算法将每一对顶点的路径编程最短路径10

4minp函数找出最小偏心度的村庄程序结束一、详细设计//Floyd算法将每一对顶点的路径编程最短路径voidFloyd(intdist[][M],intm){inti,j;for(intk=0;k

5intinmax[M];inti,j;for(i=0;i

6C:cin>>i>>j>>weight;if(i>n||i<0||j>n||j<0||weight>Maxint||weight<0){cout<<"输入非法,请重输该边的所有值"<

710

8一、核心源程序清单和执行结果09710207郑朋(数据结构).cpp//09710207郑朋(数据结构).cpp:定义控制台应用程序的入口点。//#include"stdafx.h"int_tmain(intargc,_TCHAR*argv[]){10

9return0;}#includeusingnamespacestd;constintMaxint=100;constintM=50;//定义村庄个数的最大值voidFloyd(intdist[][M],intm)//Floyd算法将每一对顶点的路径编程最短路径{inti,j;for(intk=0;k

10intt=0;for(i=0;i

11C:cin>>i>>j>>weight;if(i>n||i<0||j>n||j<0||weight>Maxint||weight<0){cout<<"输入非法,请重输该边的所有值"<>m;if(m>M||m<0){cout<<"对不起,输入的数值不合法,请重新输入!"<

12}inte;B:cout<<"2.请输入图中有几条道路:";cin>>e;if(e>(m*(m-1))||e<0){cout<<"对不起,输入的数值不合法!"<

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

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

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