基于Floyd算法的最短路径问题的求解c++1.docx

摘要现实生活中许多实际问题的解决依赖于最短路径的应用,其中比较常用的是floyd算法。通过floyd算法使最短路径问题变得简单化。采用图的邻接矩阵或邻接表实现最短路径问题中图的存储。采用Visual C++6.0的控制台工程和MFC工程分别实现基于floyd算法求最短路径的应用。关键词:最短路径;floyd算法;邻接矩阵;MFC工程目录1需求分析12算法基本原理12.1 邻接矩阵12.2 弗洛伊德算法23类设计23.1 类的概述23.2 类的接口设计33.3 类的实现44基于控制台的应用程序74.1 主函数设计74.2 运行结果及分析85基于MFC的应用程序95.1 图形界面设计95.1 程序代码设计115.3 运行结果及分析20结论21参考文献22需求分析Floyd算法又称为插点法,是一种用于寻找给定的加权图中多源点之间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。假若要在计算机上建立一个交通咨询系统则可以采用图的结构来表示实际的交通网络。这个资讯系统可以回答游客提出的各种问题。例如,一位旅客要从A城到B城,他希望选择一条途中中转次数最少的路线。假设图中每一站都需要换车,则这个问题反映到图上就是要找一条从顶点A到B所含边的数目最少的路径。我们只需从顶点A出发对图作广度优先搜索,一旦遇到顶点B就终止。由此所得广度优先

文档评论(0)

1亿VIP精品文档

相关文档