- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课6程设计_最短路径算法
沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:数据结构课程设计
课程设计题目:最短路径算法
院(系):计算机学院
专 业:计算机科学与技术
班 级学 号:2009040101133
姓 名:
指导教师:
目 录
1 课程设计介绍 1
1.1 课程设计内容 1
1.2 课程设计要求 1
2 课程设计原理 2
2.1 课设题目粗略分析 2
2.2 原理图介绍 3
2.2.1 功能模块图 3
2.2.2 流程图分析 3
3 数据结构分析 8
3.1 存储结构 8
3.2 算法描述 8
4 调试与分析 9
4.1 调试过程 9
4.2程序执行过程 9
参考文献 11
附 录(关键部分程序清单) 12
1 课程设计介绍
1.1 课程设计内容
设计程序,实现最短路径的求法,系统主要功能如下:
编写算法能够建立带权图,并能够用Dijkstra算法求该图的最短路径。
能够选择图上的任意一顶点做为开始节点。最短路径输出不必采用图形方式,可顶点序列方式输出。
1.2 课程设计要求
带权图的顶点信息用字符串,数据可自定。
参考相应的资料,独立完成课程设计任务。
较规范课程设计报告和软件代码。
2 课程设计原理
2.1 课设题目粗略分析
根据课设题目要求,拟将整体程序分为三大模块。两个子模块相互独立,没有嵌套调用的情况,在主模块中调用上面两个子模块以下是三个模块的大体分析:
建立有向图的存储结构.
应用Dijkstra算法求出该有向图的最短路径。
在主函数中调用上面两个子函数,完成求最短路径的程序设计。
2.2 原理图介绍
2.2.1 功能模块图
图2.1 功能模块图
2.2.2 流程图分析
主函数
2.2主函数流程图
Create函数
Dijkstra函数
2.4Dijkstra函数流程图
3 数据结构分析
3.1 存储结构
一个图的邻接矩阵表示是唯一的。图的邻接矩阵表示,除了需要用一个二维数组存储顶点之间相邻关系的邻接矩阵外,通常还需要使用一个具有n个元素的一维数组存储顶点信息,其中下标为i的元素存储顶点vi的信息。因此,图的邻接矩阵的存储结构定义如下:
#define MVNum 50
typedef struct {
VertexType vexs[MVNum];
Adjmatrix arcs[MVNum][MVNum];
}Mgraph;
3.2 算法描述
1. Dijkstra算法核心是贪心,实质是按路径长度递增产生诸顶点的最短路径算法。
迪杰斯特拉算法可用自然语言描述如下:
初始化S和D,置空最短路径终点集,置初始的最短路径值;
S[v1]=TRUE;D[v1]=0;
While(S集中的顶点数n)
{
开始循环,每次求的v1到某个v顶点的最短路径,并将v加到S集中;
S[v]=TRUE; 更新当前最短路径及距离。
}
2Dijkstra算法结束后,通过设置一个数组记录下一个节点的前趋节点,然后通过倒叙的方式输出该最短路径。
4 调试与分析
4.1 调试过程
在调试程序是主要遇到一下几类问题:
程序完成后,调试时没有发现问题,但是当输入开始节点后,运行框却不停的出现”-a”,后来重新检查程序时发现for循环的括号后面多了一个”;”,去掉该分号之后,程序可以运行。
程序可以运行,但是输出结果不是有序的,解决方法,设立一个前驱数组,用以记录节点的双亲节点,然后按照倒叙的方式读出该条最短路径的有向序列。
4.2程序执行过程
4.1程序执行过程
4.2程序执行过程
参考文献
[1] 《数据结构》(用面向对象方法与C++描述),殷人昆等,清华大学出版社,
2010年3月。
[2] 《算法与数据结构习题精解和实验指导》,宁正元等,清华大学出版社,
2009年6月。
[3] 《数据结构课程设计》,苏仕华等,机械工业出版社,2010年3月。
[4]《C程序设计》,谭浩强编,清华大学出版社,2006年6月。
附 录(关键部分程序清单)
程序代码
#includestdio.h
#includestdlib.h
#define MVNum 100
#define Maxint 32767
typedef char VertexType
您可能关注的文档
最近下载
- Unit 3 Yummy food(Wrap up)外研版(三起)(2024)英语三年级下册.pptx VIP
- 2022病毒疣基层诊疗指南.pdf VIP
- 大学物理化学第四版课程课件:第6章化学平衡.pptx VIP
- 中国体癣和股癣诊疗指南(基层实践版2022).docx VIP
- 张昕-行政组织学-第八章行政组织变革.pptx VIP
- 行政组织学(第二版)张昕-第7章 行政组织绩效.pptx VIP
- 张昕-行政组织学-第六章行政组织决策.pptx VIP
- 张昕-行政组织学-第五章行政组织结构.pptx VIP
- 张昕-行政组织学-第四章国家行政体制.pptx VIP
- 张昕-行政组织学-第三章政治制度框架.pptx VIP
文档评论(0)