当前位置:网站首页 > 编程语言 > 正文

广度优先搜索bfs(广度优先搜索bfs全称)



        借用百度百科对BFS的解释

宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。

       BFS不同于DFS,借助的不是栈而是队列,BFS的思想是一层一层往下搜,但究其根本,其与DFS一样是一种暴搜法,会搜索整张图(或树),而不考虑结果可能会出现的位置去做专门的应对。

        基于其一层层搜的思想,我们可以推出以下基本的代码模型

 
  

      顾名思义,对于树型结构,层序遍历就是按层从上到下,每层按一定顺序对树的节点进行遍历,其基于的思想即为BFS。

代码如下:

 
   

        当数据量不会特别大时,可以考虑使用BFS搜寻最短路,因为搜寻过程为一层层搜寻,所以第一次碰到目标点时,一定为最短路。

原题链接 111. 二叉树的最小深度 - 力扣(LeetCode)

        

        求得树的最小深度,可以转化为找到离根节点最近的叶子节点,由于我们有第一次碰到目标点一定为最短路的结论,所以可以得知当第一次遇到一个结点为叶子结点时,其深度为最小深度。

        代码表示如下

 
    

原题链接:844. 走迷宫 - AcWing题库

        

题目模型为:在迷宫中从(1,1)移动至(n,m)求最短路 ,遇到1不能走。

本题只需注意在边界外封上一圈 “1墙”就可以开始搜寻了。

 
    

以上即是本篇对于BFS基础的全部分享了,如有问题欢迎提出指正。 

到此这篇广度优先搜索bfs(广度优先搜索bfs全称)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • lda主题模型作用(lda主题分析是什么)2025-12-12 08:09:04
  • 虚拟机w7镜像iso文件(虚拟机win7iso镜像文件下载)2025-12-12 08:09:04
  • max13488的中文手册(max1348中文资料)2025-12-12 08:09:04
  • 网页传输文件到手机(手机网页传给电脑)2025-12-12 08:09:04
  • 系统启动u盘制作工具(系统启动u盘制作工具在哪)2025-12-12 08:09:04
  • bigboss源怎么下载(bigboss源有什么用)2025-12-12 08:09:04
  • 什么叫拆包发货(什么叫拆包发货啊)2025-12-12 08:09:04
  • 天气预报接口代码(天气预报 接口)2025-12-12 08:09:04
  • seatel(seatel卡怎么激活)2025-12-12 08:09:04
  • 苹果电脑装双系统后怎么还原(苹果电脑双系统重装系统)2025-12-12 08:09:04
  • 全屏图片