大大数据结构课程设计导航图

大大数据结构课程设计导航图

ID:36735287

大小:257.24 KB

页数:46页

时间:2019-05-14

大大数据结构课程设计导航图_第1页
大大数据结构课程设计导航图_第2页
大大数据结构课程设计导航图_第3页
大大数据结构课程设计导航图_第4页
大大数据结构课程设计导航图_第5页
资源描述:

《大大数据结构课程设计导航图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实用标准西安邮电大学(计算机学院)数据结构设计报告题目:导航图专业名称:软件工程班级:班学生姓名:文案大全实用标准学号(8位):指导教师:设计起止时间:2014年12月15日—2014年12月26日一.设计目的1.数据结构课程设计是让学生综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发2.通过课程设计,使学生通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。3.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能

2、力二.设计内容我设计的是旅游查询系统,是用于校园的,任何景区都可以用。对于游客来说,游客可以查询要游览的景点,可以显示出该景点的相关信息,景点等级。也可以输入起点和终点,找到一条最短路径,或者这两点之间所有路径。或者输入起点,自动生成一个全程最短的游览路线。当然游客也可以查看校园的平面图。对于管理员来说,管理员可以增,删,改景点和道路信息。三.概要设计1.功能模块图;旅游查询系统文案大全实用标准系统管理两点之间所有路线最佳全景路线查询最短行程查询浏览全景显示所有景点和路线2.各个模块详细的功能描述。1.浏览全景显示校园的平面图,让游客大概的了解校园的形貌,以及各个景点的位置。2

3、.显示所有景点和路线将所有景点和路线以列表的形式显示出来,包括景点名称,景点等级,景点描述;路线也有道路名称,道路距离,道路的起点终点。3.最短行程查询输入起点,显示该起点到其它所有景点的最短路径。4.最佳游览全景路线输入起点,生成一个最小联通路径,这样游客便能以最少的行程来游览所有景点。5.两点之间所有路线输入起点和终点,显示出这两点之间的所有路线供游客选择。文案大全实用标准四.详细设计Map()Mian()showall()1.功能函数的调用关系图bestroad()System()seekspotmin()pathall()prim()init_SeqStack()Dij

4、kstra()pop()creatgrahp()DFS()push()del()changel()add()changes()2.各功能函数的数据流程图Map()Mian()showall()bestroad()seekspotmin()System()pathall()prim()init_SeqStack()Dijkstra()pop()creatgrahp()DFS()push()文案大全实用标准changel()del()add()changes()3.重点设计及编码用DFS得出两点之间所有路线,首先输入起点和终点名称,找到其名称的下标,以起点下标开始进行深度优先遍历,

5、每遍历到下一个邻接点让其进栈,并判断其下标是否和终点下标相同,如果相同则输出栈内所有元素,并将栈顶出栈,若不相同,继续遍历。直至找完所有的路线。在这里栈的作用是存储将要找到的路线。五.测试数据及运行结果1.正常测试数据和运行结果文案大全实用标准六.调试情况设计技巧及体会文案大全实用标准在求两点之间所有路径和最小联通路径的算法中,需要将邻接表转化为矩阵去做。对于prim算法所得出的结果并不是游客所要按照的走法,只是单纯的最小生成树,若要得到一个节省的且能游览所有的景点的走法,那么需要遍历所得到的最小生成树,但并没有一个普遍的遍历方法去得到,完全需要游客自己主观的去判断怎样走才最短

6、。在系统管理这一功能中,只有管理员才能使用,所以必须设置密码,这样就避免了游客的操作。对于邻接表要存储无向图,我们需要该顶点的邻接点个数,输完该顶点,再输入这些邻接点。那么输入以某个邻接点为顶点时,之前已经输过的顶点就是它的邻接点,我们又要去输一遍它,这样太麻烦了。那么有什么办法呢?经过我的思考和研究,我们再输入完一个顶点(和它携带的邻接点)后,加一个算法,让这些邻接点和这个顶点关系一并接到这些以邻接点为顶点的邻接表上。具体处理如下:for(p=a->vertex[i].head;p!=NULL;p=p->next)/*无向图在邻接表中相互指向*/{if(p->adjvex>i

7、){if(a->vertex[p->adjvex].head==NULL)q=a->vertex[p->adjvex].head=(anode*)malloc(sizeof(anode));else{for(q=a->vertex[p->adjvex].head;q->next!=NULL;)q=q->next;q->next=(anode*)malloc(sizeof(anode));q=q->next;}q->next=NULL;q->adjvex=i;strcpy(q->rname,p

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

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

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