最短路径问题.docxVIP

  • 11
  • 0
  • 约1.06万字
  • 约 13页
  • 2022-07-18 发布于上海
  • 举报
最短路径问题 最短路径问题是一个非常能联系实际的问题,下面我们以具体例题来看看这类问题的解法 例 1、假设 A、B、C、D、E 各个城市之间旅费如下图所示。某人想从城市 A 出发游览各 城市一遍,而所用费用最少。试编程序输出结果。 解这类题时同学们往往不得要领,不少同学采用穷举法把所有可能的情况全部列出 ,再找出其中最短的那条路径;或是采用递归或深度搜索,找出所有路径,再找出最短 的那条。这两种方法可见都是费时非常多的解法,如果城市数目多的话则很可能要超时 了。 实际上我们知道,递归、深度搜索等算法一般用于求所有解问题(例如求 A 出发每个 城市走一遍一共有哪几种走法),而这几种算法对于求最短路径这类最优解问题显然是 不合适的,以下介绍的几种算法就要优越很多。首先,对于这类图我们都应该先建立一个邻接矩阵来存放任意两点间的距离数据, 以便在程序中方便调用, 如下: const dis:array[1..5,1..5] of integer =( ( 0, 7, 3,10,15), ( 7, 0, 5,13,12), ( 3, 5, 0, 5,10), (10,13, 5, 0,11), (15,12,10,11, 0)); 以 下是几种解法: 一、 宽度优先搜索 宽度优先搜索并不是一种很优秀的算法,只里只是简单介绍一下它的算法。 具体方法是: 1、 从 A 点开

文档评论(0)

1亿VIP精品文档

相关文档