- 11
- 0
- 约4.77千字
- 约 14页
- 2019-01-15 发布于安徽
- 举报
实用标准文案
精彩文档
课程设计报告书
课程名称 数据结构
设计题目 社区医院选址问题
专业班级 ***************************
学 号 ****
姓 名 ***
指导教师 ****
计算机科学与技术专业教研室
1 设计目的:数据结构是计算机科学与技术、信息管理专业的重要的专业基础课,是计算机系统软件和应用软件开发的重要理论和技术。本次课程设计内容主要用到图的结构。所以课程设计目要求掌握图的理论、图的邻接矩阵存储方式、顶点对这间的最短路径算法设计、及图在实践中的简单应用。
2设计任务:已知有向图,图中各顶点代表居民区,有向边代表交通路线。权表示路程(公里) 。要在居民区建立一家医院。要求各居民区到医院的路径尽可能短,请设计医院建在哪个居民区比较合适。
0341 4
0
3
4
1
4
3
13 13
12 12
6
2 5
2
15
3 设计内容:图中各顶点代表居民区,边上的权代表各居民区的路程。要解决选地址问题,必须确定最短路径。求各顶点到其它顶点的最短路径,并求各居民区之间往返路径的和。对各居民区的最短路径和进行比较,和最小的则为首选地址。问题的实现,采用顶点对之间最短路径算法,对各居民区的最短路径进行计算。
1:求出邻接矩阵
2:求出邻接表
3:求出最短路径的邻接矩阵
4:求各顶点到其它顶点的最短路径的和
5:求出其它顶点到各顶点的最短路径的和
6:求出往返最短路径的和
7:对各居民区的最短路径和进行比较,和最小的则为首选地址。
4 结果分析:
这步是输入数据
输出邻接矩阵
for(i=0;in;i++)
{
for(int j=0;jn;j++)
{
coutt.arcs[i][j] ;
}
coutendl;
}
coutendl;
输出邻接表
for(i=0;in;i++)
{
for(j=0;jn;j++)
{
if(i!=j)
{
int next=t.path[i][j];
coutj;
cout--i t.a[i][j] ;
}
}
coutendl;
}
输出最短路径的邻接矩阵
for(i=0;in;i++)
{
for(j=0;jn;j++)
{
coutt.a[i][j] ;
}
coutendl;
}
输出点到所有点的路程的和
for(i=0;in;i++)
{
sum1[i]=0;
for(int j=0;jn;j++)
{
if(i!=j)
{
coutt.a[i][j]:;
int next=t.path[i][j];
coutj;
while(next !=i)
{
cout--next;
next=t.path[i][next];
}
cout--iendl;
sum1[i]+=t.a[i][j];
}
}
cout点i到所有点的路程和为:sum1[i]endl;
}
逆输出所有点到点路径的和
for(i=0;in;i++)
{
sum2[i]=0;
for(j=0;jn;j++)
{
if(i!=j)
{
coutt.a[j][i]:;
int next=t.path[j][i];
couti;
while(next !=j)
{
cout--next;
next=t.path[j][next];
}
cout--jendl;
}
sum2[i]+=t.a[j][i];
}
cout所有的点到i路程和为:sum2[i]endl;
}
输出所有点往返路程的和
for(int o=0;on;o++)
{
sum3[o]=sum1[o]+sum2[o];
cout点o的往返路程的和为:sum3[o]endl;
}
min=sum3[0];
for(int h=0;hn;h++)
{
if(sum3[h]=min)
{
min=sum3[h];
l=h;
}
}
cout比较可得最短的路程为m
您可能关注的文档
最近下载
- 2025年河北省中考数学真题.docx VIP
- 6.3.2 世界上最大的黄土堆积区—黄土高原(第2课时2023-2024学年八年级下册地理精品教学课件(人教版)+.pptx VIP
- 安源光伏特玻璃厂带式输送机投标书.doc VIP
- 压缩热再生吸附式干燥机.ppt VIP
- 中医执业医师中医基础试题(一)(中医执业医师中医基础考试卷).doc VIP
- 中医执业医师考试中医基础模拟试题(2)(中医执业医师中医基础考试卷).doc VIP
- 吊耳计算对照表.pdf VIP
- 香港中医执业医师考试试题题库.pdf
- 高中语文选择性必修上课本原文、翻译.pdf VIP
- SY_T6592-2016固井质量评价方法.docx VIP
原创力文档

文档评论(0)