数据结构课程设计校园导航系统课程设计报告.doc

数据结构课程设计校园导航系统课程设计报告.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计校园导航系统课程设计报告

南京工程学院 课程设计说明书(论文) 题 目 校园导航系统 课 程 名 称 数 据 结 构 院 系 通信工程学院 专 业 信息工程 班 级 学 生 姓 名 学 号 设 计 地 点 指 导 教 师 设计起止时间:2008 年12月29 日至 年 月 日 目 录 1.课程设计题目 1 2.软件功能描述 1 3.软件总体设计 1 3.1数据结构描述与定义 1 3.2模块设计 3 4.测试结果与分析 4 5.课程设计总结 5 附录:源程序清单 6 1.课程设计题目 校园导航系统 2.软件功能描述 在近一个星期的努力下,我编写的校园导航系统软件终于能够成功完成。采用工程思想,将系统共分一下几个模块:数据结构定义模块、导航图建立模块、求最短路径模块、主菜单; 下面是具体各功能简单的实际应用: 数据结构定义模块:模块定义了导航图中各个节点的基本结构类型,主要采用邻接矩阵的存储结构来真实反映各节点到其他所有节点的路径长度(权值大小)。 导航图建立模块:采用上述结构体类型对导航图中每个节点进行赋值。包括:各定点的名称(地点名),各个节点到其他所有节点的真实路径长度(赋权值)。 求最短路径模块: 本模块的基本思想是采用迪杰斯特拉算法求最短路径。次模块是本校园导航系统的核心模块,求两点间的最短路径与求一点到其他所有点最短路径两个子功能均是在最短路径算法模块的基础上进行调用,进而实现导航功能。 主菜单:主菜单中主要是显示导航图中的所有导航节点,能够快速方便的对各个地点进行导航。 以上程序的几个模块,构成了校园导航系统的基本组成部分,程序运行良好,达到了课程设计的基本要求。由于所学知识有限,功能各个方面还有欠妥之处,希望得到指出与改正。 3.软件总体设计 3.1数据结构描述与定义 节点数据结构类型: #define MAX_V 30 //最大顶点个数 typedef struct { char* vexs[MAX_V]; //顶点向量 int arcs[MAX_V][MAX_V];//邻接矩阵 int vexnum,arcnum;//图的当前顶点数和弧数 }MGraph; 创建导航图函数: int CreateUDN(MGraph G) 函数描述:主要将每个节点进行命名、每个顶点到其他所有定点的路径值用邻接矩阵进行存储。 例: G.vexs[0] = 小北门; 作用:使0号定点命名为“小北门”; G.arcs[0][1] = G.arcs[1][0] =550; 作用:使0号节点到1号节点的路径赋值为550,应为是无向图,所以1号节点到0号节点的路径长度也应赋值为550; 最短路径导航函数: void ShortPath(MGraph G,int v0,int p[MAX_V][MAX_V],int d[]) 函数描述:用Dijkstra算法求无向网G的V0定点到其余定点V的最短路径P[v]及其带权长度D[v]。 若P[v][w]为True,则w是从V0到V当前求得最短路径上的顶点。 Final[v]为True当且仅当V∈S,即已经求得从V0到V的最短路径。 导航菜单函数声明 void menu() 函数描述:输出各个节点的编号,放便导航。 3.2模块设计 以下为迪杰斯特拉算法流程图: 4.测试结果与分析 很高兴,这次自己设计的校园导航系统能够按照预先的设想正常运行,经过反复的调试和优化程序,使得程序的源代码更规范且易于理解,程序的输出界面更为友好,操作更简便易行。 测试内容: 系统登陆界面: 导航功能1——两点最短距离导航测试结果如下 导航功能2——某点到其他所有点的距离 5.课程设计总结 经过一个学期对数据结构课程的学习,我能够掌握数据结构所教会我的对待问题的方法,以及遇到问题时如何抽象出一个合理的数据结构类型。数据结构教会我的不但是每一个算法,更多的是如何解决问题的方法。例如,在本次课程设计中我做的是校园导航系统,对于校园导航问题的关键是最短路径的问题,在教材中有算法——迪杰斯特拉求最短路径问题,在花了几天时间后,终于能够将算法的整个流程弄清楚,在对各个定点的存储上采用邻接矩阵的方

您可能关注的文档

文档评论(0)

xjj2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档