- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计导航图
西 安 邮 电 大 学 (计算机学院)数据结构设计报告题 目: 导航图 专业名称:软件工程班 级:班 学生姓名:学号(8位):指导教师:设计起止时间: 2014年12月15日—2014年12月26日设计目的1.数据结构课程设计是让学生综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发2. 通过课程设计,使学生通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用 。3.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力二. 设计内容我设计的是旅游查询系统,是用于校园的,任何景区都可以用。对于游客来说,游客可以查询要游览的景点,可以显示出该景点的相关信息,景点等级。也可以输入起点和终点,找到一条最短路径,或者这两点之间所有路径。或者输入起点,自动生成一个全程最短的游览路线。当然游客也可以查看校园的平面图。对于管理员来说,管理员可以增,删,改景点和道路信息。三.概要设计1.功能模块图; 旅游查询系统2.各个模块详细的功能描述。1.浏览全景显示校园的平面图,让游客大概的了解校园的形貌,以及各个景点的位置。2.显示所有景点和路线将所有景点和路线以列表的形式显示出来,包括景点名称,景点等级,景点描述;路线也有道路名称,道路距离,道路的起点终点。3.最短行程查询输入起点,显示该起点到其它所有景点的最短路径。4.最佳游览全景路线 输入起点,生成一个最小联通路径,这样游客便能以最少的行程来游览所有景点。5.两点之间所有路线 输入起点和终点,显示出这两点之间的所有路线供游客选择。四.详细设计1.功能函数的调用关系图2.各功能函数的数据流程图3.重点设计及编码用DFS得出两点之间所有路线,首先输入起点和终点名称,找到其名称的下标,以起点下标开始进行深度优先遍历,每遍历到下一个邻接点让其进栈,并判断其下标是否和终点下标相同,如果相同则输出栈内所有元素,并将栈顶出栈,若不相同,继续遍历。直至找完所有的路线。在这里栈的作用是存储将要找到的路线。五.测试数据及运行结果1.正常测试数据和运行结果六.调试情况设计技巧及体会在求两点之间所有路径和最小联通路径的算法中,需要将邻接表转化为矩阵去做。对于prim算法所得出的结果并不是游客所要按照的走法,只是单纯的最小生成树,若要得到一个节省的且能游览所有的景点的走法,那么需要遍历所得到的最小生成树,但并没有一个普遍的遍历方法去得到,完全需要游客自己主观的去判断怎样走才最短。在系统管理这一功能中,只有管理员才能使用,所以必须设置密码,这样就避免了游客的操作。对于邻接表要存储无向图,我们需要该顶点的邻接点个数,输完该顶点,再输入这些邻接点。那么输入以某个邻接点为顶点时,之前已经输过的顶点就是它的邻接点,我们又要去输一遍它,这样太麻烦了。那么有什么办法呢?经过我的思考和研究,我们再输入完一个顶点(和它携带的邻接点)后,加一个算法,让这些邻接点和这个顶点关系一并接到这些以邻接点为顶点的邻接表上。具体处理如下:for(p=a-vertex[i].head;p!=NULL;p=p-next)/*无向图在邻接表中相互指向*/ { if(p-adjvexi) { 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-rname); q-weight=p-weight; } }七、源代码及相关文件主程序代码:#includestdio.h#includestring.h#includestdlib.h#define infinity 32767#define maxsize 50 typedef struct{int stack[maxsize];int top;}SeqStack;typedef struct arcnode//邻接表结构体 {char rname[20];/*路名*/int adjvex;/*相邻景点序号*/int weight;/*路长*/struct arcnode *next;}anode;typedef struct vertexnode{ int visit;/*访问标志*/ cha
您可能关注的文档
最近下载
- 无锡市2025届高三语文期终调研测试作文题目解析及相关范文:“高考志愿填报中的定向”.docx
- 2024至2030年中国膨润土行业市场前景与投资战略研究报告.docx
- 佳能70D中文使用说明书..pdf
- 阀门制造有限公司程序文件标书.pdf
- 2024年苏州工业园区服务外包职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
- 中 共预备党员考察教育情况登记表.doc VIP
- 验方奇方天星十二穴.pdf
- 2024年华侨港澳台学生入学考试数学试卷真题(含答案详解).pdf VIP
- 2023-2024初中物理竞赛试题精选精编第09讲杠杆(含解析).doc
- 混凝土质量手册.pdf VIP
文档评论(0)