关于DFS
DFS算法是沿着搜索树的根节点,一直遍历完该搜索树之后再回溯继续搜索的一种算法。缺点是可能会出现答案在搜索树层数很浅,在靠后的子树中,但由于搜索次序需要遍历完一棵搜索树所有的节点,所以导致效率低下。
关于BFS
BFS算法是沿着搜索树的根节点,按层遍历完该搜索树所有节点的一种算法。缺点是可能会出现答案在搜索树层数很深的地方,导致效率低下。且如果是满二叉树这样的搜索树很可能会使在BFS的过程中队列爆掉。在层数很多的时候会占用很多的空间。
关于迭代加深
迭代加深算法其实是一种结合了DFS和BFS两种算法特点的搜索算法。我们会预设搜索的层数,然后仅在该层数以内进行DFS。这一算法很有效的避免了DFS可能会出现的效率低下的问题。
而似乎这样的算法思路和BFS相同,而且由于拓展层数的时候会重复搜索,所以反而更慢了。但其实,迭代加深有效的避免了使用大量空间的问题,相对于普通的BFS也是有优势的。

DFS,BFS和迭代加深的联系与区别相关推荐

  1. Gym - 102460A Rush Hour Puzzle(dfs迭代加深)

    题目链接:点击查看 题目大意:给出一个 6 * 6 的矩阵,表示华容道的游戏界面,现在需要红色汽车(标号为 1 )从第三行最右端到达出口的最短时间,如果无解或者步数超过 10 输出 -1 题目分析:因 ...

  2. P2324 [SCOI2005]骑士精神(迭代加深搜索,dfs)

    传送门 文章目录 解析 解析 很显然,让马走的话状态记录和转移都会比较复杂 所以转化成让空位跳会更好做一点 但这不是重点 初看本题,其实第一感觉是bfs 但是状态数理论上最差可以达到815,(当然基本 ...

  3. POJ - 2248 Addition Chains(dfs+迭代加深)

    题目链接:点击查看 题目大意:我们规定加法链有如下特点: 现在给出一个数n,求该数的最短加法链 题目分析:这个题首先我们可以枚举所有可能性,并且进行适当的剪枝: 当前长度大于等于最优解时回溯 当前值等 ...

  4. 巴士(DFS迭代加深 + 剪枝)

    原题链接: https://www.acwing.com/problem/content/188/ 题目描述 一名男子在12:00抵达了某巴士站,并且在12:00-12:59期间他将在那里逗留. 巴士 ...

  5. POJ2248 Addition Chains(迭代加深搜索)

    题目链接: poj2248 题目大意 给你一个数字n,你需要构造一个首项为1,末项为n的递增序列,并且这个序列的非首项的数字都能从它前面找到两项之和与之相等,前面的两项可以为同一项,即可重复,并且要让 ...

  6. C++迭代加深搜索及其例题讲解—————Addition Chains

    前言: 学习算法时,一个关键的问题是什么时候来使用它.在一些搜索问题中,使用普通的DFS可能会让你把时间浪费在深度非常大而且答案不是最优的搜索过程上,甚至有的时候DFS搜索的深度是无穷的,而BFS虽说 ...

  7. 【日常练习】递增数列 【迭代加深】

    题解 之前没怎么学过A*,IDA*,迭代加深这些搜索算法,只知道搜索+剪枝,真是惭愧-- 错误算法 因为很容易发现,在第i位上你最多能凑出2i-1大小的数,所以我们就贪心凑出小于等于给定的m的最大的那 ...

  8. 【集训】DFS/BFS专训3

    DFS/BFS专训3 文章目录 DFS/BFS专训3 A. 生日蛋糕 B. 埃及分数 C. 最优贸易 D. 关系网络 E. 四色地图 F. 小猫爬山 G. 最大黑区域 H. 引水入城 I. 武士风度的 ...

  9. 埃及分数 (迭代加深入门)

    Description: 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数.如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的.对于一个分数a/b ...

最新文章

  1. 【电路】pmic芯片设计细节
  2. python就业方向及工资-Python的5大就业方向,薪资诱人前景好!
  3. [转载]Apache之Hadoop学习:初识hadoop
  4. php数组的值传递给另一个数组,如何把一个固定数组的值传递给另外一个数组
  5. vue ui 启动,浏览器报错Unexpected token
  6. TFS与Eclipse、Microsoft Visual Studio等客户端以webservice进行交换。
  7. JDK的OutputStream为什么方法write(int b)的入参类型是int呢?
  8. *[hackerrank]Girlfriend Necklace
  9. 实例解析linux内核I2C体系结构(2)
  10. 有道翻译接口问题(续)
  11. 杭州一高中推刷脸吃饭:8秒搞定;乌海市与上海荷福签署合作协议 进入人工智能矿业安全领域...
  12. 简单mysql程序_【备忘】mysql简单操作程序
  13. python背包问题递归_想问下大神python的背包问题的源代码(最好玩也有伪代码,请用递归法实现),因为只学过递归法,所...
  14. java代码生成器,springboot代码生成器—增加生成添加信息,导出excel功能(持续更新)
  15. Android自定义View-View的绘制流程
  16. python笔记:7.2.2.2 一元多因素方差分析_交互效应图(购房面积影响因素交互效应)
  17. 1000句最常用英语口语
  18. java需要用到英语_javaSE常用的英语单词
  19. python基础知识点集锦二
  20. 介质服务器作用,爱数之介质服务器及介质同步技术

热门文章

  1. 7-4 黄金时代 (20 分)
  2. 特色英文短语[转帖]
  3. 木瓜移动每日资讯0618:Facebook宣布将在全球范围内推出“Instagram Reels”广告服务
  4. 参数化三维地下管线建模关键技术研究
  5. gravity mysql_gravity 使用操作。
  6. Dropout技术之随机神经元与随机深度
  7. Nodejs用户登录,退出案例
  8. 西安腾讯云面试总结(已拿offer)
  9. MATLAB应用:第二章-基本使用方法
  10. idea 创建module 没有src