当前位置: 首页 > news >正文

浅谈迷宫类问题中的BFS和DFS

最近刷了很多迷宫类问题的算法,这类题目普遍都是使用DFS和BFS来解决,那么DFS和BFS间到底有什么区别呢?

DFS,深度优先遍历,在整个函数递归的过程中,会找到所有可能的路径。比如说,一个迷宫问题有一些出口,DFS会将可到达这些出口的所有路径都遍历一遍,一个出口可能会对应多条路径。
所以,如果要统计整个迷宫中有多少条可行的不重复的路径,那么使用DFS是可行的。

BFS,广度优先遍历,是通过队列+循环实现的,它并不会找到所有可行的路径,实际上,对于每一个出口,如果存在可行路径,那么BFS最终找到的是到达这个出口的最短路径。因此,对于每一个存在可行路径的出口而言,BFS只会记录到这个出口的最短的那条路径。

所以,如果要统计整个迷宫中有几个出口或要求最短路径的话,使用BFS是可行的。

另外,BFS和DFS虽然都需要剪枝,但是DFS是需要回溯的,但是BFS不需要。

相关文章:

  • ctf 基础
  • [ctfshow web入门] web119
  • 软件设计师CISC与RISC考点分析——求三连
  • 算法加训之最短路 上(dijkstra算法)
  • <前端小白> 前端网页知识点总结
  • 10.13 LangChain工具调用实战:@tool装饰器+小样本提示,日处理10w+调用秘籍
  • 3Dmax中用RayFire实现破碎动画效果
  • 机器学习(13)——LGBM(2)
  • 用Colab启动Streamlit应用
  • 机器学习 Day18 Support Vector Machine ——最优美的机器学习算法
  • 板凳-------Mysql cookbook学习 (三)
  • c/c++的opencv直方图初识
  • ADB基本操作和命令
  • 深入理解 OpenCV 的 DNN 模块:从基础到实践
  • 顺 序 表:数 据 存 储 的 “ 有 序 阵 地 ”
  • 计算机网络概要
  • 牛客网NC276055:三根木棒能否组成三角形问题详解(ACM中的A题)
  • 【从基础到模型网络】深度学习-语义分割-ROI
  • OceanBase数据库-租户
  • 小米汽车:新能源赛道的破局者与变革者
  • 不赚“快钱”的佳沛:蒋时杰解密新西兰国果如何在中国“慢养”出43亿生意
  • CBA官方对孙铭徽罚款3万、广厦投资人楼明停赛2场罚款5万
  • 竞彩湃|足总杯决赛或有冷门,德甲欧冠资格之争谁笑到最后
  • 气急败坏!20多名台湾艺人被台当局列为“重点核查对象”
  • 特朗普指控FBI前局长“暗示刺杀总统”,“8647”藏着什么玄机?
  • 病愈出院、跳大神消灾也办酒,新华每日电讯:农村滥办酒席何时休