首先,我们假设搜索树的状态空间中每个状态都有b个后继。

时间复杂度分析

搜索树的根节点生成第一层的b个节点,每个子节点又生成b个子节点,第二层则有b平方个节点,依次类推。于是可以得到生成的节点总数为O(b^d),其中d为深度。这也就是宽度优先搜索的时间复杂度。

空间复杂度分析

因为FIFO队列中最多存储O(b^d-1)个节点在探索集中,O(b^d)个节点在边缘节点集中,所以空间复杂度由边缘节点机的大小决定,即空间复杂度为O(b^d).

宽度优先搜索的优缺点

优点:宽度优先搜索是完备的,能够找到目标节点,且能保证最短(在所有行动的代价都相同的情况下)

缺点:在深度d比较大的时候,时间和空间都会指数爆炸!

宽度优先搜索的复杂度分析相关推荐

  1. 野人与传教士——宽度优先搜索(完整报告,含全部代码)

    题目: 野人与传教士渡河问题:3个野人与3个传教士打算乘一条船到对岸去,该船一次最多能运2个人,在任何时候野人人数超过传教士人数,野人就会把传教士吃掉,如何用这条船把所有人安全的送到对岸?在实现基本程 ...

  2. 八数码宽度优先搜索python代码_图之遍历--广度优先遍历

    何为广度优先遍历呢? 广度优先遍历(BFS),又叫宽度优先搜索或横向优先搜索,是从根结点开始沿着树的宽度搜索遍历,将离根节点最近的节点先遍历出来,在继续深挖下去. 基本思想是: 1.从图中某个顶点V0 ...

  3. 广度/宽度优先搜索(BFS)详解

    1.前言 广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略.因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名. 一般可以用它做什么呢?一 ...

  4. 生成图-深度优先搜索/宽度优先搜索

    问题提出: 考虑如下图所示的简单图所表示的缅因州的道路系统.在冬天里保持道路通路通畅的唯一方式就是经常扫雪.高速公路部分希望只扫尽可能少的道路上的雪,而确保总是存在连接任何两个乡镇的干净道路.如何才能 ...

  5. 算法笔记01——深度优先搜索(DFS)/宽度优先搜索(BFS)

    深度优先搜索(DFS) 从某个状态开始,不断地转移状态直到无法转移,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直至找到最终的解.深度优先搜索从最开始的状态出发,遍历所有可以到达的状态. ...

  6. 【算法入门】广度/宽度优先搜索(BFS)

    广度/宽度优先搜索(BFS) [算法入门] 郭志伟@SYSU:raphealguo(at)qq.com 2012/04/27 1.前言 广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述) ...

  7. 深度优先搜索和宽度优先搜索

    深度优先搜索和宽度优先搜索 bfs和dfs都是遍历图的方法.dfs是不撞南墙不回头,bfs慢慢来,一层一层来. 类型 空间(h为高度) 时间(h为高度) 采用的数据结构 特点 DFS O(h) O( ...

  8. 【BFS宽度优先搜索】

    一.求所有顶点到s顶点的最小步数   1 //BFS宽度优先搜索 2 #include<iostream> 3 using namespace std; 4 #include<que ...

  9. 层层递进——宽度优先搜索(BFS)

    问题引入 我们接着上次"解救小哈"的问题继续探索,不过这次是用宽度优先搜索(BFS). 注:问题来源可以点击这里 http://www.cnblogs.com/OctoptusLi ...

最新文章

  1. Chart.js-饼状图分析(参数分析+例图)
  2. tomcat 日志分割脚本
  3. 如何创建一个自动化测试项目
  4. android获取自定义属性,android 自定义控件中获取属性的三种方式(转)
  5. scanf 接收 空格 输入_【C/C++】【输入】关于scanf:输入空格,多次使用
  6. html文档(.htm)不能正常阅读,HTM或HTML图标变成无法显示和识别的解决方法大全
  7. 数据库文档生成工具V1.0
  8. python 数据处理----读取txt 一列数据写入excel 文件
  9. iOS-UICollectionView快速构造/拖拽重排/轮播实现
  10. Microsoft.AspNet.Identity 的简单使用
  11. 关于DevExpress Winform GridControl GridView 主从表(Master-Detail)导出Excel问题
  12. 全网最全-探花交友项目-面试总结-简历优化
  13. 【计算机毕业设计】092二手闲置交易市场系统
  14. IDEA之非常复制黏贴
  15. 倾斜摄影超大场景的三维模型的顶层合并,提升模型在WEB三维展示效果
  16. 宿华卸任快手CEO程一笑接替;新思科技扩大与台积公司的战略技术合作 | 全球TMT...
  17. 华为诺亚方舟实验室简述
  18. 四大机器学习编程语言对比:R、Python、MATLAB、Octave
  19. springboot同时接受文件和多个参数
  20. 学习Python,经常见到PEP,那么PEP是什么呢?

热门文章

  1. 破解pdf操作权限密码
  2. 集装箱 扩展程序_工厂一平米集装箱公厕销售,供求信息
  3. 前端拖拽drag的使用
  4. 月薪2万java啥水平_月薪2w的Java程序员需要什么样的技术水平呢?
  5. h5骨架屏快速生成方案
  6. 斯坦福大学 Design School 所倡导设计思维的原则和步骤是什么?
  7. 使用信号量机制解决生产者消费者问题
  8. 自然语言处理算法回归算法和分类算法
  9. [进来复制]springboot项目代码混淆,帮你安排的明白的混淆代码!
  10. 有点后悔选择了计算机专业!现在学编程,当程序员还有前途吗?