蓝桥杯算法入门(Python) 课件 6-6BFS与最短路径.pptxVIP

  • 1
  • 0
  • 约2.45千字
  • 约 7页
  • 2026-08-23 发布于山东
  • 举报

蓝桥杯算法入门(Python) 课件 6-6BFS与最短路径.pptx

罗勇军6.6BFS与最短路径蓝桥杯算法入门

BFS与最短路径找从@到*的最短路径2

3步骤出队列进队列当前队列内的点(1)?11(2)12、32、3(3)24、5、63、4、5、6(4)37、84、5、6、7、8

最短路径与BFS4BFS特点:逐层扩散。往BFS的队列中加入邻居节点时,按距离起点远近的顺序加入:先加入距离起点为1的邻居节点,加完之后,再加入距离为2的邻居节点,等等。搜完一层,才会继续搜下一层。最短路径:从起点开始,沿着每一层逐步往外走,每多一层,路径长度就增加1。所有长度相同的最短路径都是从相同的层次扩散出去的。搜到第一个到达终点的路径,就是最短路径。

最短路径问题:BFS的应用场合应用场合:点和点直连的距离是1,即边长是1。最短路径长度=“跳数”。5

6问题描述:有一个n×m的棋盘,在某个点(x,y)上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。输入:输入只有一行四个整数,分别为n,m,x,y。1≤x≤n≤400,1≤y≤m≤400。输出:一个n×m的矩阵,代表马到达某个点最少要走几步。不能到达则输出?1。例6.14马的遍历/problem/P1443

7马走日,从一个坐标点出发,下一步有8种走法。第2、3行用dx[]、dy[]定义下一步的8个方向。设左上角的坐标是(1,1),右下角坐标是(n,m)。代码的主体部分是标准的BFS

文档评论(0)

1亿VIP精品文档

相关文档