校园导游咨询程序

合集下载

综合实验十二校园导游咨询

综合实验十二校园导游咨询

综合实验十二校园导游咨询一、实验目的(1)熟练掌握图的创建及遍历基本操作算法。

(2)熟练掌握最短路径算法。

(3)利用图的遍历和最短路径求解技术,设计一个校园导游程序,为来访的客人提供各种信息查询服务。

二、实验内容【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。

【基本要求】(1)设计你所在学校的校园平面图,所含景点不少于10个。

以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

(2)为来访客人提供图中任意景点相关信息的查询。

(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一个最短的简单路径。

【测试数据】由读者根据实际情况指定。

【实现提示】一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。

顶点和边均含有相关信息。

【选作内容】(1)求校园图的关节点。

(2)提供图中任意景点问路查询,即求任意两个景点之间的所有路径。

(3)提供校园图中多个景点的最佳访问路线查询,即求途经这多个景点的最佳(短)路径。

(4)校园导游图的景点和道路的修改扩充功能。

(5)扩充道路信息,如道路类别(车道、人行道等)、沿途景色等级,以至可按客人所需分别查询人行路径或车行路径或观景路径等。

(6)扩充每个景点的邻接景点的方向等信息,使得路径查询结果能提供详尽的导向信息。

(7) 实现校园导游图的仿真界面。

程序代码及结果:#include<iostream>#include<iomanip>using namespace std;const int MaxSize=18;const int INFINITY=65535;//最大值无穷class direction;template <class T> class MGraph;template <class T>class VertexNode//定义头结点{friend class MGraph<T>;public:int vex;//顶点名称T vexname;//顶点名称T vexinf;//顶点信息direction dir;//存放顶点方位信息的direction类的dir。

校园导游咨询程序

校园导游咨询程序

【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。

【基本要求】(1)设计你的学校的校园平面图,所含景点不少于10个。

以图中顶点表示学校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

(2)为来访客人提供图中任意景点的问路查询.(3)为来访客人提供图中任意景点相关信息的查询。

【测试数据】由读者根据实际情况指定。

【实现提示】一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。

顶点和边均含有相关信息。

#include<stdio.h>#include<process.h>#include <cstdlib>#include<string.h>#define INT_MAX 10000#define N 20int Length[N][N];// 边的值int shortest[N][N];//两点间的最短距离int path[N][N];// 经过的景点(数字代表)void introduce();//景点介绍int shortestdPath();//任意两点的最短距离void floyed(); //弗洛伊德算法void display(int i,int j);//打印路径char str[N+1][20] = {" ","南区大门","交大子弟学校","文达湖","软件学院","南区礼堂","校医院","建设银行","宿舍楼群A","中国移动","国防生大楼","四食堂","艺术学院","8栋","一食堂","逸夫楼","图书馆","基础学院","信息学院","土木学院","电气学院"};//文字代表int main(){/*主函数*/int i,j;char k;for(i=0;i<=N;i++)for(j=0;j<=N;j++)Length[i][j]=INT_MAX;Length[1][3]=Length[3][1]=170;Length[2][3]=Length[3][2]=120;Length[3][4]=Length[4][3]=400;Length[2][5]=Length[5][2]=350;Length[3][6]=Length[6][3]=200;Length[4][8]=Length[8][4]=50;Length[8][9]=Length[9][8]=150;Length[5][12]=Length[12][5]=150;Length[6][7]=Length[7][6]=160;Length[7][9]=Length[9][7]=150;Length[6][13]=Length[13][6]=200;Length[7][14]=Length[14][7]=200;Length[9][11]=Length[11][9]=100;Length[11][14]=Length[14][11]=100;Length[12][13]=Length[13][12]=150;Length[13][14]=Length[14][13]=250;Length[12][15]=Length[15][12]=100;Length[13][16]=Length[16][13]=80;Length[13][17]=Length[17][13]=80;Length[17][19]=Length[19][17]=100;Length[19][20]=Length[20][19]=80;Length[18][16]=Length[16][18]=50;Length[15][18]=Length[18][15]=160;Length[18][20]=Length[20][18]=200;Length[15][10]=Length[10][15]=50;Length[1][1]=Length[2][2]=Length[3][3]=Length[4][4]=Length[5][5]=0;Length[6][6]=Length[7][7]=Length[8][8]=Length[9][9]=Length[10][10]=0; Length[11][11]=Length[12][12]=Length[13][13]=Length[14][14]=Length[15][15]=0; Length[16][16]=Length[17][17]=Length[18][18]=Length[19][19]=Length[20][20]=0;while(1){printf("**********************欢迎使用华东交大南区导游系统!******************\n\n");printf("1.景点信息查询请按1 \n");printf("2.景点最短路径查询请按2 \n");printf("3.退出系统请按3 \n\n");printf("学校景点列表:\n");printf("1:南区大门");printf("2:交大子弟学校");printf("3:文达湖");printf("4:软件学院");printf("5:南区礼堂\n");printf("6:校医院");printf("7:建设银行");printf("8:宿舍楼群A ");printf("9:中国移动");printf("10:国防生大楼\n");printf("11:四食堂");printf("12:艺术学院");printf("13:8栋");printf("14:一食堂");printf("15:逸夫楼\n");printf("16:图书馆");printf("17:基础学院");printf("18:信息学院");printf("19:土木学院");printf("20:电气学院\n\n");printf("*************************************************************** ******\n\n");printf("请选择服务:");scanf("\n%d",&k);switch(k){case 1:printf("进入景点信息查询:\n");introduce();break;case 2:printf("进入最短路径查询:");shortestdPath();break;case 3:exit(0);default:printf("输入信息错误!\n请输入1,2,3\n");break;}}return 0;}/*main*/void introduce(){/*景点介绍*/int a;printf("请输入您想了解的景点编号:");scanf("%d",&a);getchar();printf("\n");switch(a){case 1:printf("1:南区大门\n\n 学校的南区正门,与北区大门正对遥遥相对\n\n");break;case 2:printf("2:交大子弟学校\n\n 生源包括学校部分老师的孩子和学校周围村庄的孩子\n\n");break;case 3:printf("3:文达湖\n\n 湖心设有喷泉,湖畔绿树掩映\n\n");break;case 4:printf("4:软件学院\n\n 成立于2002年,学院有在校师生近3700人,部分学生培养方式为“软件工程+应用背景专业\n\n");break;case 5:printf("5:南区礼堂\n\n 是交大中大节日活动的举办场所,观众几乎场场爆满,星期六和星期天日新网在南礼有偿播放大片\n\n");break;case 6:printf("6:校医院\n\n 校医院的医生经验丰富,开的药钱学校给报销绝大多数\n\n");break;case 7:printf("7:建设银行\n\n 设有自动取款机,交大学生的现金多数是从那里取出来的\n\n");break;case 8:printf("8:宿舍楼群A\n\n 南区1/3 的男生住在那里\n\n");break;case 9:printf("9:中国移动\n\n 这里还有中国联通和中国电信营业厅\n\n\n");break;case 10:printf("10: 国防生大楼\n\n 国防生居住和训练的地方。

校园导游咨询系统.

校园导游咨询系统.

c) 系统完成的功能: 来访客人浏览校园全景 查询相关景点的信息 可查询所有浏览路线 来访客人可以查询从某一景点到另一景点的最短路径;
d) 程序设计分析: 利用弗洛伊德算法来计算出起点到各个顶点之间的最短路径并进行 存储,弗洛伊德算法将找出每一对顶点之间的最短路径;
e) 系统的输入与输出: 键盘输入,输出等。
⑦初始化模块 函数:MGraph * CreatUDN(MGraph *G) 主要功能:初始化图形,接受用户输入 ⑧选择模块 函数:void Floyd(MGraph *G) 主要功能:选择出发点和目的地 ⑨确定位置模块 函数:int LocateVex(MGraph *G,char* v) 主要功能:定点位置 ⑩菜单模块 函数:void Menu(void) 主要功能:显示菜单,供用户选择
软件开发中的总体设计:
详细设计内容和过程
Browser函数模块
void Browser(MGraph *G)
{
int v;
printf("┏━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n");
printf("┃编号┃景点名称 ┃简介
┃\n");
for(v=0;v<G->vexnum;v++)
③调用函数模块 函数:void cmd(void) 主要功能:根据用户选择,调用完成各个功能的子函数 ④浏览函数模块 函数:void Browser(MGraph *G) 主要目的:浏览校园全景 ⑤路径查询模块 函数:void ShortestPath_DIJ(MGraph * G) 主要功能:求起点到各个顶点之间的最短路径 ⑥景点查询模块 函数:void Search(MGraph *G) 主要功能:寻找要查询的景点,并输出该景点的信息

校园导游咨询讲解

校园导游咨询讲解

《算法与数据结构》课程设计报告班级:专业级班姓名:学号:课程设计题目:校园导游咨询所属课程:算法与数据结构实验室(中心):指导教师:完成时间:年月日学院信息科学与工程学院课程设计任务书课程算法与数据结构A班级指导教师题目校园导游咨询完成时间2015年6月23日至2015年7月3日主要内容介绍校园的景点,同时提供任意两点之间最短的路径。

设计报告要求1.封面;2.课程设计成绩单、课程设计任务书3.内容提要;4.“课程设计报告”正文部分:主要应包括:①问题分析和任务定义;②环境简介;③设计:主要是指数据结构与核心算法的设计描述;操作界面的设计;主要功能的算法框架;测试用例设计等内容(要求使用C++)。

④编译参数与步骤的说明;⑤上机调试总结与分析;⑥用户使用说明;⑦测试数据与测试结果等内容。

⑧课程设计总结:可以包括课程设计过程的收获、遇到的问题及解决过程的思考、对数据结构这门课程的思考和认识等内容。

⑨附录程序清单5.参考文献版面要求1.题目用黑体三号,段后距18磅(或1行),居中对齐;2.标题用黑体四号,段前、段后距6磅(或0.3行);3.正文用小四号宋体,行距为1.25倍行距;4.标题按“一”、“㈠”、“1”、“⑴”顺序编号。

指导时间安排星期周次一二三四五六17周1-4节1-4节18周1-4节5-8节指导地点专业实验室406/407指导教师:信息科学与工程学院课程设计成绩单课程名称:算法与数据结构A课程设计姓名综合成绩程序运行情况(占总成绩20%)□能正确运行(20分)□基本能正确运行□能运行但结果不完善(15分)(10分)程序功能完善程度(占总成绩10%)□完善(10分)□基本完善(8分)□不完善(5分)程序结构的合理性(占总成绩10%)□合理(10分)□基本合理(8分)□不太合理(5分)对问题的答辩情况(占总成绩40%)□概念正确有创新□能正确回答所有问题(40分)(35分)□部分问题回答概念不清晰(20分)□基本能正确回答(30分)学生的工作态度与独立工作能力(占总成绩10%)□工作态度认真能独立完成任务□工作态度认真但独立性较差(8分)□工作态度基本认真但缺乏独立性(5分)设计报告的规范性(占总成绩10%)(10分)□符合规范(10分)□基本符合规范(8分)□规范性较差(5分)摘要数据结构课程设计对于训练学生掌握程序设计技术、使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。

校园导游咨询程序设计报告计划

校园导游咨询程序设计报告计划

数据构造课程设计设计题目:校园导游咨询学院:信息学院班级:计算机1008班姓名:学号:20101221180日期:2012年3月校园导航问题[ 问题描绘 ]设计一个校园导游程序,为来访的客人供给各样信息查问服务。

[ 基本要求 ](1)设计所在学校的校园平面图,所含景点许多于十个。

以图中极点表示校内各景点,寄存景点名称、代号、简介等信息;以边表示路径,寄存路径长度等信息。

(2)为来访客人供给图中随意景点有关信息的查问。

(3)为来访客人供给图中随意景点的问路查问,即查问随意两个极点之间的一条最短的简单路径。

(4)校园导游图的景点和道路的改正扩大功能。

(5)扩大道路信息,如道路类型(车道、人行道),致使可按客人所需分别查问人行路径或车行路径。

(6)扩大每个景点的林洁景点的方向等信息,使得路径查问结果能供给详细的导向信息。

(7)实现校园导游的仿真界面。

一、纲要设计 (4)二、详细设计 (6)三、调试剖析 (12)四、调用关系 (12)五、用户操作指南 (13)[ 测试数据 ]一、纲要设计1.数据种类#define V_MAX 20 #define E_MAX 200typedef struct {char name[10];// //char code[10];// char info[20];// int x,y;//坐标名字代码信息,简介}VType;//极点种类typedef struct {int live;//标志能否存在,假如被删除则为0,存在为1char name[10];// int length;//路名路的长度char ivex[10],jvex[10];//int type;//表示道路种类,路 ( 边) 连结的两个极点的名字0 表示两个都是, 1 表示人行道, 2 表示行车道}EdgeType;//边种类typedef struct AdjNode{int length;// char name[10];//弧的长度关系的极点的名字struct AdjNode *next;//下一条弧}AdjNode;//弧结点typedef struct {int live;//标志能否存在,假如被删除则为0,存在为1int flag;//标志能否被接见过VType data;//极点的信息AdjNode *first_adj;//指向该极点的第一条弧}VNode;//景点(极点)结点typedef struct {VNode vex[V_MAX];//极点数组EdgeType edge[E_MAX];//边的数组int v_num,e_num;}Graph;//图种类////////////////////////////////Graph G;AdjNode *p;2. 基本函数////////////////////////////////void creatGraph(Graph &G);//创立校园图void load(Graph &G);//从文件中读取数据void save(Graph &G);//保留数据入文件int find_v(Graph G,char name[10]);// 经过输入景点名字,返回该景点在vex 数组里的下标void print_Graph(Graph G);//以毗邻矩阵的形式输出图信息int direction(Graph G,char bname[10],char fname[10]);//用于判断并输出一个景点在此外一个景点的方向信息void search_view(Graph G);//查问并输出景点的全部信息void del_v(Graph &G);//删除景点void add_v(Graph &G);//增添景点void add_e(Graph &G)// void modify_v(Graph &G);// void del_e(Graph &G);//增添道路改正景点信息删除道路二、详细设计本程序由、、、个文件组成。

数据结构-校园导游程序(附源码)

数据结构-校园导游程序(附源码)

数据结构-校园导游程序(附源码)简介本文档旨在介绍一个校园导游程序的设计与实现。

该程序使用数据结构来管理校园地点信息,并提供导游功能,供用户查找并导航到目标地点。

文档将依次介绍相关的背景知识、程序设计原理、算法实现以及使用方法。

目录1.背景知识1.校园导游需求2.数据结构概述2.程序设计原理1.数据结构设计2.地点信息管理3.导航算法设计3.算法实现1.数据结构定义2.地点信息管理算法3.导航算法4.使用方法1.程序安装2.数据录入3.导游功能使用5.附录1.附件1:源码文件2.附件2:数据样例1.背景知识1.1 校园导游需求校园导游程序是为了帮助使用者在校园中快速找到目标地点,并提供导航功能,方便出行和参观。

该程序需要管理校园地点的信息,包括名称、位置和介绍等。

使用者可以通过程序查找地点、导航到目标地点。

1.2 数据结构概述数据结构是计算机中用来组织和存储数据的方式。

在校园导游程序中,我们需要选择适合的数据结构来存储和管理地点信息。

常用的数据结构有数组、链表、树、图等。

根据需求分析,我们可以使用图这一数据结构来表示校园地点之间的关系,方便进行导航。

2.程序设计原理2.1 数据结构设计在校园导游程序中,我们使用图这一数据结构来表示校园地点之间的关系。

每个地点可以看作图的一个节点,节点之间的边表示地点之间的连接关系。

通过构建图数据结构,我们可以方便地管理地点信息并进行导航。

2.2 地点信息管理地点信息管理是校园导游程序的核心功能之一。

我们需要设计适合的数据结构来存储地点的信息,包括名称、位置和介绍等。

通过合理的数据结构设计,可以快速地查找和修改地点信息。

2.3 导航算法设计导航算法是实现导游功能的关键。

我们需要设计算法来计算出从起点到目标地点的最短路径,并提供导航指引。

常用的导航算法有Dijkstra算法、A算法等,我们根据需求选择合适的算法进行实现。

3.算法实现3.1 数据结构定义我们使用图这一数据结构来表示校园地点之间的连接关系。

校园导游咨询讲解

校园导游咨询讲解

《算法与数据结构》课程设计报告班级:专业级班姓名:学号:课程设计题目:校园导游咨询所属课程:算法与数据结构实验室(中心):指导教师:完成时间:年月日学院信息科学与工程学院课程设计任务书信息科学与工程学院课程设计成绩单指导教师:A课程设计课程名称:算法与数据结构性别男班级学号姓名指导教师算法与数据结构班级课程A2201完成时校园导游咨 201主介绍校园的景点,同时提供任意两点之间最短的路径内.封面.课程设计成绩单、课程设计任务.内容提要.“课程设计报告”正文部分主要应包括①问题分析和任务定义②环境简介③设计:主要是指数据结构与核心算法的设计描述;操作界设的设计;主要功能的算法框架;测试用例设计等内容(要求使报C+)要④编译参数与步骤的说明⑤上机调试总结与分析⑥用户使用说明⑦测试数据与测试结果等内容⑧课程设计总结:可以包括课程设计过程的收获、遇到的问及解决过程的思考、对数据结构这门课程的思考和认识等内容⑨附录程序清.参考文1题目用黑体三号,段后1磅(行),居中对齐2标题用黑体四号,段前、段后磅(0.版行)3正文用小四号宋体,行距1.2倍行距要4标题按“一”、“㈠”、“1”、“⑴”顺序编号星周指11-时1-安11-5-指专业实验406/40地点综合成绩□能正确运行□基本能正确运行□能运行但结果不完善程序运行情况15分)((10分)分)(20(占总成绩20%)□不完善□基本完善□完善程序功能完善程度分)(5(8分)(分)10)10%(占总成绩□不太合理□基本合理程序结构的合理性□合理5分)(8分)()(占总成绩10%分)(10□基本能正确回答□概念正确有创新□能正确回答所有问题30(分)40(分)(35分)对问题的答辩情况□部分问题回答概念不清晰40%(占总成绩)(20分)□工作态度认真能独立完成任务□工作态度认真但独立性较差学生的工作态度与(10分)(分)8独立工作能力□工作态度基本认真但缺乏独立性(占总成绩10%)(5分)□规范性较差□符合规范□基本符合规范设计报告的规范性(5分)10分)(8(分))10%(占总成绩.摘要数据结构课程设计对于训练学生掌握程序设计技术、使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。

校园导游咨询程序

校园导游咨询程序

Main()函数模:主要打印开始界面和提示相关的操作。

用穷举的方法把学校相关景点之间的路径和权值(距离)初始化,用cost[][]二维数组实现。

打印:输入”s”进行查询最短路径,输入“b”进入主菜单页面,输入“e”退出程序。

switch(k){case'b':star();break;case 's':printf("the shortest way searching:");shortestdistance();break;case 'e':exit(0);default:printf("Error!\nplease press b or s or e.\n");getchar();break;}Star()函数:主要是显示一个界面,功能是提供查询路径选择和查看进入景点的主页面和退出该页面返回主界面。

switch(choose){case '0':instruction();getchar();break;case '1':jingdian();break;case '2': map();break;case '9':end();break;default:star();}Jingdian()函数:显示校园的10个景点和代号,提示输入相应的代号进入该景点的函数模块。

在这里也可以查询10个景点中任意两个之间的最短路径,也可以选择退出程序。

switch(point){case '1': office();break;case '2': library();break;case '3': lake();break;case '4': classroom();break;case '5': apartment();break;case 's':shortestdistance();break;case '0': star();getchar();break;case 'e':exit(0);default:jingdian();}Floyed()函数:求两个景点之间的最短距离。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void OutputPlace();//输出景点列表
void SearchPlace();//查询景点信息
void SearchPath();//查询最短路径
void Shortpath(int i);//计算最短路径
void Output(int sight1,int sight2);//输出函数
2.各个模块详细的功能描述。
Map();//显示校园整体的地图、包含学校各景点的详细位置
CreateGraph();//创建图、主要用来保存各景点信息
OutputPlace();//输出景点列表、供选择景点信息查询时使用
SearchPlace();//查询景点信息、景点的名称及介绍
SearchPath();//查询最短路径、两景点间最短距离
实验三:校园导游咨询
一、
设计一个校园导游程序,为来访的客人提供各种信来访客人提供图中任意景点相关信息的查询。
3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
二、
实际需求
1)设计你所在学校的校园平面图,所含景点不少于10个。以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息:以边表示路径,存放路径长度等相关信息。
path[a][b]=0;
d=b; //将b作为出发点进行下一次循环输出,如此反复
if(q%14==0) printf("\n");
goto gate;
}
}
}
printf("\n\n\t\t\t\t\t\t最短距离为%dm.\n\n\t",D[a]);
}
}
五.测试数据及运行结果
系统主界面
学校平面图
学校景点图
{
int v,w,i,t;//i、w和v为计数变量//t表示景点个数
int final[NUM]; //标志数组、用来存放顶点的信息
int min;//记录权值、最终输出路径
for(v=0;v<NUM;v++)
{
final[v]=0; //假设从顶点num到顶点v没有最短路径
D[v]=G.arc[num][v].length;//将num到其余顶点的最短路径长度初始化为权值
//输出sight1到sight2的最短路径长度,存放在D[]数组中
printf("\t%s",G.vertex[sight1].name); //输出景点一的名称
d=sight1; //将景点一的编号赋值给d
for(c=0;c<NUM;++c)
{
gate:; //标号,可以作为goto语句跳转的位置
{
D[w]=min+G.arc[v][w].length;//更新路径
for(t=0;t<NUM;t++)
path[w][t]=path[v][t];
path[w][w]=1;
}
}
}
void Output(int sight1,int sight2) //输出函数
{
int a,b,c,d,q=0;//a、b、c和d为计数变量//q控制计数变量、用于换行
for(w=0;w<NUM;w++)
path[v][w]=0;//初始化从v到w的路径值
if(D[v]<MAX) //存在路径
{
path[v][num]=1; //存在标志置为一
path[v][v]=1; //自身到自身
}
}
D[num]=0;//初始化新路径
final[num]=1; //初始化num顶点属于final集合
{
v=w;
min=D[w];
}
final[v]=1; //离num顶点更近的v加入到s集合
for(w=0;w<NUM;++w) //更新当前最短路径极其距离
if(!final[w]&&((min+G.arc[v][w].length)<D[w]))//不在s集合,并且比以前所找到的路径都短就更新当前路径
Shortpath(int i);//计算两景点间最短路径
Output(int sight1,int sight2);//输出两景点最短路径及信息
四.详细设计
2
全局变量
Graph G;
int path[NUM][NUM];
int D[NUM];
3.
重点设计:求最短路径
编码:
void Shortpath(int num)//迪杰斯特拉算法最短路径
a=sight2; //将景点二赋值给a
if(a!=sight1) //如果景点二不和景点一输入重合,则进行...
{
printf("\t\t\t\t\t\t从%s到%s的最短路径是:\n\n\t\t\t\t\t",G.vertex[sight1].name,G.vertex[sight2].name);//输出提示信息
//开始主循环,每一次求得num到某个顶点的最短路径,并将其加入到final集合
for(i=0;i<NUM;++i) //其余G.vexnum-1个顶点
{
min=MAX; //当前所知离顶点num的最近距离
for(w=0;w<NUM;++w)
if(!final[w]) //w顶点在v-s中
if(D[w]<min) //w顶点离num顶点更近
2)为来访客人提供图中任意景点相关信息的查询。
3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
2)概要设计
1、
2、
3、提供校园图中多个景点的最佳访问路线查询,即求途径这过个景点的最佳(短)路径。
1
void Map();//校园地图
void CreateGraph();//创建图
path[a][sight1]=0;
for(b=0;b<NUM;b++)
{
if(G.arc[d][b].length<MAX&&path[a][b]) //如果景点一和它的一个临界点之间存在路径且最短路径
{
printf("--->%s",G.vertex[b].name); //输出此节点的名称
q=q+1; //计数变量加一,满8控制输出时的换行
最短路径信息查询
异常信息
三、
1.
系统还有部分漏洞未能修复、不够绝对的稳定、还需改进!
求最短路径时可以采用比较简单的哈密尔顿算法。
本次课程设计仅完成了要求的基本功能、由于平时掌握的不够好以及时间关系未能完成选作功能、这是一大缺陷!另外通过本次课程设计也更好的掌握了平时所学的知识、通过实践学到了许多课本上没有的知识!
相关文档
最新文档