- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
数据结构课程设计
题目名称:最短路径
计算机科学与技术学院
一、需求分析
(1)题目:最短路径
实现图的输入,选择合适的结构表示图,在此基础上实现求解最
短路径的算法,可以从任意一点求最短路径,学生必须准备多组测试
数据,并设计清晰易懂的输入输出界面,
要求:如何用多种数据结构来求解问题。同时要求实现对应数据
结构的所有基本操作。
(2)程序的输入与输出:要求用多种数据结构求解问题,也就是要用
邻接表与邻接矩阵实现最短路径的算法,需要有多组输入输出,
(a)输入的形式和输入值的范围:输入的形式为整型
1.先输入共需要创建几次图
2.再分别输入边数和顶点数(范围:1~100)
3.输入1和2选择是否为有向图图(1为有向,2为无向)
4.对应每条边输入起点和终点下标,以及对这条边的权值(最
大的权值为100)。
5.输入在邻接表的基础上输入深度与广度优先搜索的起点
6.我们输入求各种最短路径起点和终点
(b)输出的形式;
1.输出所建立的邻接表(表结点后面的括号是头结点与表结
点的权值)
2.输出DFS和BFS的结果
3.输出该图不带权值的最短路径与路径
4.接下来输入起点和终点,求带权值的最短路径也就是
Dijstra算法,输出长度并给出路径
5.前面都是用邻接表实现的各种算法,接下来的Floyd算法
就用矩阵实现,于是直接邻接表转矩阵输出
6.用Floyd算法求出图的多源最短路径,给出起点终点输出
最短路径长度,接着便到了第二次创建图,直至循环结束。
(3)程序的功能:
求给出带权图的任意两点,输出最短路径长度并给出其最短路径
所经过的顶点。
在实际应用中可以将交通网络化成带权的图,图中顶点表示城市,
边代表城市之间的公路,边上的权值表示公路的长度。这样可以发现
两个地方之间有无公路可连,在几条公路可通的情况下,可以找到那
条路径最短。也就是现在地图app中的功能。
(4)测试数据:包括正确的输入及其输出结果和含有错误的输入
及其输出结果。
在有向图中输入错误的数据(顶点与顶点方向相反),会输出逆向信息。
二、概要设计
1.主程序流程
(a)主程序首先多组输入一个n,在n不为0的前提下循环执行
(b)调用BuildGraph()函数,创建一个图并以邻接表的形式存
储
(c)BuildGraph()函数输入顶点、边数调用CreateGraph(Nv)
函数,初始化一个有Nv个顶点但没有边的图,再根据结构体Edge输
入每个边的信息,调用InsertEdge(Graph,E,c);函数将每条边
插入到仅仅初始化的图中,完成一个图的建立,并返回一个邻接表类
型的结构体
(d)主函数接到返回来的邻接表结构体,调用outL()函数,输出
这个邻接表
(e)输入起点,调用DFS(Graph,v1,1);函数进行递归求解深度
优先搜索并直接输出
(f)输入起点,调用BFS(Graph,v1);函数,求解广度优先搜索
并直接输出
(g)输入起点、终点,调用Unweighted(Graph,v1);函数求
得起点到每个点的最短路径,再用dist[v2]输出。
(h)如果dist[v2]大于0证明v1可以到达v2,调用outpath(v2)
输出路径
(i)输入起点、终点,调用Dijkstra(Graph,v1);函数求得起点
到每个点的最短路径,再用dist[v2]输出。
您可能关注的文档
- 有关公司合并协议(二)2篇.pdf
- 更换运输皮带安全技术措施.pdf
- 智能微尘市场分析报告.pdf
- 智慧警务数字警务室建设技术方案.pdf
- 普通话命题说话3分钟范文(19篇)_1.pdf
- 无人机技术的发展和军事应用.pdf
- 施工服务计划.pdf
- 施工图纸材料缩写代码.pdf
- 新闻的作文50字.pdf
- 新能源集控中心企业文化理念.pdf
- 2025年贵州省剑河县初三下学期港澳台入学考试数学试题含解析.doc
- 2025年甘肃省临夏市第一中学重点达标名校中考数学试题命题比赛模拟试卷(2)含解析.doc
- 2025年甘肃省张掖市初三开学考试-数学试题试卷含解析.doc
- 2025年广西南宁市第八中学初三TOP20九月联考(全国II卷)数学试题试卷含解析.doc
- 2025年广东省湛江市第二中学中考一模考试数学试题(A)含解析.doc
- 2025年广西防城实验学校初三5月模拟(三模)数学试题文试题含解析.doc
- 2025年贵州省黔东南州麻江县初三中考信息卷(一)数学试题含解析.doc
- 2025年贵州省罗甸县联考初三月考卷(七)数学试题试卷含解析.doc
- 2025年广东省梅州市梅江区实验中学中考猜题卷:数学试题试卷含解析.doc
- 2025年广东省肇庆市端州区南国中学英文校中考数学试题疯狂小题抢高分含解析.doc
文档评论(0)