- 6
- 0
- 约1.45万字
- 约 25页
- 2020-02-01 发布于江苏
- 举报
沈阳理工大学课程设计专用纸
PAGE
PAGE II
摘 要
现实生活中许多实际问题的解决依赖于最短路径的应用,其中比较常用的是floyd算法。通过floyd算法使最短路径问题变得简单化。采用图的邻接矩阵或邻接表实现最短路径问题中图的存储。采用Visual C++6.0的控制台工程和MFC工程分别实现基于floyd算法求最短路径的应用。
关键词:最短路径;floyd算法;邻接矩阵;MFC工程
目 录
TOC \o 1-3 \h \z \u 1 需求分析 1
2 算法基本原理 1
2.1 邻接矩阵 1
2.2 弗洛伊德算法 2
3 类设计 2
3.1 类的概述 2
3.2 类的接口设计 3
3.3 类的实现 4
4 基于控制台的应用程序 7
4.1 主函数设计 7
4.2 运行结果及分析 8
5 基于MFC的应用程序 9
5.1 图形界面设计 9
5.1 程序代码设计 11
5.3 运行结果及分析 20
结 论 21
参考文献 22
PAGE
PAGE 21
需求分析
Floyd算法又称为插点法,是一种用于寻找给定的加权图中多源点之间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。
假若要在计算机上建立一个交通咨询系统则可以采用图的结构来表示实际的交通网络。这个资讯系统可以回答游客提出的各种问题。例如,一位旅客要从A城到B城,他希望选择一条途中中转次数最少的路线。假设图中每一站都需要换车,则这个问题反映到图上就是要找一条从顶点A到B所含边的数目最少的路径。我们只需从顶点A出发对图作广度优先搜索,一旦遇到顶点B就终止。由此所得广度优先生成树上,从根顶点A到顶点B的路径就是中转次数最少的路径,路径上A与B之间的顶点就是途径中的中转站数。但是这只是一类最简单的图的最短路径的问题。有时对于旅客来说,可能更关心的是节省交通费用;对于司机来说里程和速度则是他们感兴趣的信息。为了在图上标示有关信息可对边赋以权的值,权的值表示两城市间的距离,或图中所需时间,或交通费用等等。此时路径长度的量度就不再是路径上边的数目,而是路径上边的权值之和。边赋以权值之后再结合最短路径算法来解决这些实际问题。Floyd算法是最短路径经典算法中形式较为简单,便于理解的一种。
算法基本原理
2.1 邻接矩阵
邻接矩阵(Adjacency Matrix):是表示顶点之间相邻关系的矩阵。设G=(V,E)是一个图,其中V={v1,v2,…,vn}。G的邻接矩阵是一个具有下列性质的n阶方阵:
(1)对无向图而言,邻接矩阵一定是对称的,而且对角线一定为零(在此仅讨论无向简单图),有向图则不一定如此。
(2)在无向图中,任一顶点i的度为第i列所有元素的和,在有向图中顶点i的出度为第i行所有元素的和,而入度为第i列所有元素的和。
(3)用邻接矩阵法表示图共需要n2个空间,由于无向图的邻接矩阵一定具有对称关系,所以扣除对角线为零外,仅需要存储上三角形或下三角形的数据即可,因此仅需要nn-1/2
2.2 弗洛伊德算法
弗洛伊德算法使用图的邻接矩阵arcs[n+1][n+1]来存储带权有向图。算法的基本思想是:设置一个n x n的矩阵A(k),其中除对角线的元素都等于0外,其它元素a(k)[i][j]表示顶点i到顶点j的路径长度,K表示运算步骤。开始时,以任意两个顶点之间的有向边的权值作为路径长度,没有有向边时,路径长度为∞,当K=0时, A (0)[i][j]=arcs[i][j],以后逐步尝试在原路径中加入其它顶点作为中间顶点,如果增加中间顶点后,得到的路径比原来的路径长度减少了,则以此新路径代替原路径,修改矩阵元素。具体做法为:
第一步,让所有边上加入中间顶点1,取A[i][j]与A[i][1]+A[1][j]中较小的值作A[i][j]的值,完成后得到A(1);
第二步,让所有边上加入中间顶点2,取A[i][j]与A[i][2]+A[2][j]中较小的值,完成后得到A(2)…,如此进行下去,当第n步完成后,得到A(n),A(n)即为我们所求结果,A(n)[i][j]表示顶点i到顶点j的最短距离。
因此弗洛伊德算法可以描述为:
A(0)[i][j]=arcs[i][j]; //arcs为图的邻接矩阵
A(k)[i][j]=min{A(k-1) [i][j
您可能关注的文档
- 工艺流程图绘制方法pid.doc
- 公司6sigma项目模板.ppt
- 公司6s管理汇报.ppt
- 公司6s管理培训(ppt81页)(00001).pdf
- 公文写作训练.doc
- 供暖系统热水网路水力计算表.pdf
- 拱式结构案例分析.ppt
- 古诗鉴赏咏素蝶诗.ppt
- 供应商管理系统srm.pdf
- 管理会计案例11884.doc
- 宣贯培训(2026年)《NYT 4512-2025 非洲菊疫病抗性鉴定技术规程》.pptx
- 宣贯培训(2026年)《NYT 4514-2025木薯副产物综合利用导则》.pptx
- 宣贯培训(2026年)《NYT 4513-2025木薯全程机械化生产技术规范》.pptx
- 宣贯培训(2026年)《NYT 4470-2025全株玉米青贮质量分级》.pptx
- 宣贯培训(2026年)《NYT 4468-2025玉米供需平衡表编制规范》.pptx
- 宣贯培训(2026年)《NYT 4469-2025全株玉米青贮质量评定 综合指数法》.pptx
- 宣贯培训(2026年)《NYT 4474-2025东北地区玉米-大豆轮作生产技术规程》.pptx
- 宣贯培训(2026年)《NYT 4472-2025玉米耐盐碱鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4473-2025玉米抗旱性鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4478-2025甘薯收获技术规程》.pptx
最近下载
- 新版湘少版四年级下册英语教案全册.doc
- 教科版小学六年级下册综合实践活动主题二 第2课 我给学校提建议(课件).pptx VIP
- FR-WI-08-23 环境管理物质执行标准 A21.xls VIP
- 比亚迪环境管理物质标准A6.pdf VIP
- 大数据视角下小学生学习能力评价与提升策略实践教学研究课题报告.docx
- 2025年落实上级统计督察整改工作情况的报告范文.docx VIP
- HSF001--A1环境管理物质管理标准.doc VIP
- 外军管理概论题库及答案.doc VIP
- T SHJNXH 0021—2025 电化学储能电站运行综合能效等级及评价.pdf VIP
- 2025年外军管理概论试题及答案.docx VIP
原创力文档

文档评论(0)