校园导游系统数据结构图
更新时间:2023-05-01 03:21:01 阅读量: 综合文库 文档下载
- 校园导游系统数据结构报告推荐度:
- 相关推荐
.
资料.
郵電學院
数据结构实验报告
题目:校园导游系统
院系名称:计算机学院
专业名称:计算机科学与技术
班级:1006
学生:****
学号(8位):*****
指导教师:******
设计起止时间:2011年12月12日~2011年12月16日
. 资料.
.
一.题目要求
1、设计学校的校园平面图,
地点(地点名称、地点介绍)不少于10个。
2、提供图中任意地点相关信息的查询。
3、提供图中任意地点的问路查询:
1)任意两个地点之间的一条最短(中转最少)的简单路径;
2)任意两个景点的最佳访问路线(带权)查询;
3)任意两个地点之间的所有路径。
4、地点和道路的扩充以及撤销;
地点基本信息的文件存储。(附加:加分题)
二.概要设计
1.功能模块的调用关系图
2.各个模块详细的功能描述。
1.首先,main()函数调用loge()函数,输出欢迎界面,然后调用showmenu()函数来选择用户所要进行的操作。其中showmenu()函数就是一个菜单供使用者来选择他所要进行的相关操作,比如信息的查询,最短路径查询之类。
2.browser()函数,用于输出校园平面图,给用户提供校园的景点分布状况,方便用户选择景点参观。
3.Search()函数,用于查询用户所选的景点信息,用户需要输入要查询的景点编号,函数会对编号进行判断,如果是合法输入,则在屏幕上输出该景点的相关信息,包括景点名字,景点的相关介绍,否则返回重新输入。
4.SearchAllpath()函数,用于查询用户所选的任意两个景点间的所有路径,用户需要输入要查询的起始景点编号,函数会对编号进行判断,如果是合法输入,用户需要输入要查询的终点景点编号,函数会对编号进行判断,如果是合法输入,则在屏幕上输出输查询的两个景点间的所有路径,否则返回重新输入。函数使用深度遍历DeepFirstSeach()查找路径。
资料.
.
5.Wellway()函数,用于查询用户所选的任意两个景点间的最短路径,用户需要输入要查询的起始景点编号,函数会对编号进行判断,如果是合法输入,用户需要输入要查询的终点景点编号,函数会对编号进行判断,如果是合法输入,则在屏幕上输出输查询的两个景点间的最短路径,否则返回重新输入。函数的生成主体是迪杰斯特拉算法来计算出起点到终点之间的最短路径。
6.minway()函数,用于查询用户所选的任意两个景点间的最佳路径(即中转最少),用户需要输入要查询的起始景点编号,函数会对编号进行判断,如果是合法输入,用户需要输入要查询的终点景点编号,函数会对编号进行判断,如果是合法输入,则在屏幕上输出输查询的两个景点间的最短路径,否则返回重新输入。
7. CreatUDN()函数,创建的图,它是MGraph型,G->vexnum表示顶点的个数;G->arcnum表示边数。CreatUDN()函数的功能就是实现图的创建,将已知的景点的一些信息,转换成图的信息,并进行存储。
三.详细设计(主要函数的程序流程图)
1.任意两个地点之间的一条最短(中转最少)的简单路径
利用遍历的思想,遍历图找出一条最佳最佳的的路径,让它遍历所有景点。往下遍历,访问标志位,若访问过在下次就不用访问。若找完一个分支在下次重新遍历。
zz[0]->zhi=m;
zz[0]->front=NULL;
flag[m]=1;
for(top=0;top<20;top++)
{
for(i=0;i<20;i++)
{
if(G->arcs[zz[top]->zhi][i].adj!=INFINITY&&i==n)
{
printf("%s\n",G->vexs[n].name);
printf("%s\n",G->vexs[zz[top]->zhi].name);
zz[top]=zz[top]->front;
while(zz[top]!=NULL)
{
printf("%s\n",G->vexs[zz[top]->zhi].name);
zz[top]=zz[top]->front;
}
getch();
return;
}
else if(G->arcs[zz[top]->zhi][i].adj!=INFINITY&&flag[i]==0)
{
zz[++j]->zhi=i;
zz[j]->front=zz[top];
flag[i]=1;
}
资料.
.
资料. }
}
2.任意两个景点的最佳访问路线(带权)查询
利用迪杰特斯拉算法,求v0到其余顶点的最短路径D[],p [][]是用来存放各路径的权值,借助辅助数组final[]标志,是否当前顶点属于final(1,属于)。
for(v=0;v
{
final[v]=0;
D[v]=G->arcs[v0][v].adj;
for(w=0;w
p[v][w]=0;
if(D[v] { p[v][v0]=1;p[v][v]=1; } } D[v0]=0;final[v0]=1; for(i=1;i { min=INFINITY; for(w=0;w if(!final[w]) if(D[w] final[v]=1; for(w=0;w . 资料. if(!final[w]&&(min+G->arcs[v][w].adj { D[w]=min+G->arcs[v][w].adj; for(x=0;x p[w][x]=p[v][x]; p[w][w]=1; } } v=v1; w1=v0; printf("%s",G->vexs[v0].name); do { flag=0;min=INFINITY; for(w=0;w { if(p[v][w]&&w!=v0) { flag=1; if(D[w] { j=w; min=D[w]; } } } . 3.任意两个地点之间的所有路径 利用深度优先的思想,遍历图找出所有的路径,让它遍历所有景点。利用递归的思想,往下历,访问标志位,若访问过在下次就不用访问。{ int s; if(v[k]==j)/*找到一条路径*/ { count++;/*路径的条数值加1*/ printf("第%d条:",count); for(s=1;s printf("%s->",G->vexs[v[s]].name); printf("%s\n",G->vexs[v[s]].name); } for(s = 1;s { if(s!=i)/*保证找到的是简单路径*/ { if(G->arcs[v[k]][s].adj!=INFINITY&&visited[s]==0) /*当vk与vs之间有边存在且vs未被访问过*/ { visited[s]=1; /*置访问标志位为1,即已访问的*/ v[k+1]=s; /*将顶点s加入到v数组中*/ DeepFirstSeach(G,i,j,k+1); /*递归调用之*/ visited[s]=0; /*重置访问标志位为0,即未访问的,以便该顶点能被重新使用*/ } 资料. . 资料. } } }若找完一个分支在下次重新遍历。
正在阅读:
校园导游系统数据结构图05-01
多旋翼考试题库(答案版)模板11-04
17年贵州黔东南州数学中考真题卷03-22
“十三五”重点项目-功能化多壁碳纳米管项目节能评估报告(节能07-02
2021年中国人民大学社会与人口学院620学科基础之西方经济学(宏观04-24
我们这个时代会有真先知吗?06-06
虚拟仪器课程实验指导书12-27
浙教版八年级数学上册第二章:特殊三角形 单元测试卷04-25
用厘米作单位量长度08-29
期末燃气轮机考试范围 - 图文10-01
- 小学生造句大全
- 增压泵投资项目可行性研究报告(模板)
- 高中语文人教版粤教版必修1-5全部文言文知识点归纳
- 两学一做专题民主生活会组织生活会批评与自我批评环节个人发言提
- 管理处环境保洁工作操作标准作业指导书
- 2012六一儿童节活动议程 - 图文
- 移树申请报告
- 《贵州省市政工程计价定额》2016定额说明及计算规则
- 计算机长期没有向WSUS报告状态
- 汉语拼音教学策略研究
- 发展西部领先的航空货运枢纽
- 司法所上半年工作总结4篇
- 如何提高银行服务水平
- 发电厂各级人员岗位职责
- 丰田汽车的外部环境分析
- 2017—2018年最新冀教版四年级数学下册《混合运算》教案精品优质
- 中建八局样板策划 - 图文
- 戚安邦《项目管理学》电子书
- 2015年高级项目经理笔记
- 弯桥的设计要点
- 结构图
- 导游
- 校园
- 数据
- 系统
- 辽宁省葫芦岛市建昌县2017-2018学年八年级人教版(下)期末数学试题
- 2017年南通大学文学院333教育综合之中国教育史考研题库
- 2020年西北大学计算机网络考研复试核心题库之综合题精编
- 2019-2020年注册一级建造师《通信与广电工程管理与实务》真题D卷 (附解析)
- 新东方高级口译辅导-听力
- 虚空先生浅解《论语》巧言令色 鲜矣仁
- 最新本人现实表现(精选多篇)
- Analysis of MPEG-2 Video Streams
- 2018年上海师范大学美术学院333教育综合之教育学考研冲刺狂背五套题
- 九年级历史当代世界格局的演变测试题
- 参观极地海洋公园的作文500字
- DYNAMIC PATH-PLANNING FOR SEARCH AND DESTROY
- 江苏省镇江市润州区2016届九年级12月月考英语 试题
- 市文体局2014年工作总结及2015年工作思路
- (浙江专用)高三语文二轮复习语言综合运用专项突破作业(6)含答案
- 小学二年级语文试卷分析表
- 部编版三年级语文下《我不能失信》说课稿
- 最全面初中化学计算题类型及解题技巧总结(完整版)
- 2018-2019年高中政治河南高一开学考试测试试题【2】含答案考点及解析
- 绵阳市初中统考2019年八年级上学期数学期末教学质量检测试题(模拟卷三)