zoukankan      html  css  js  c++  java
  • BFS与DFS

    DFS:使用栈保存未被检测的结点,结点按照深度优先的次序被访问并依次被压入栈中,并以相反的次序出栈进行新的检测。

    类似于树的先根遍历
    深搜例子:走迷宫,你没有办法用分身术来站在每个走过的位置。不撞南山不回头。

    DFS思想:

    一直往深处走,直到找到解或者走不下去为止




    BFS:使用队列保存未被检测的结点。结点按照宽度优先的次序被访问和进、出队列。
    类似于树的按层次遍历的过程

    广搜例子:你的眼镜掉在地上以后,你趴在地板上找。你总是先摸最接近你的地方,如果没有,再摸远一点的地方……

    BFS思想:
    1.从初始状态S开始,利用规则,生成下一层的状态。
    2.顺序检查下一层的所有状态,看是否出现目标状态G。
    否则就对该层所有状态节点,分别利用规则。生成再下一层的所有状态节点。
    3.继续按上面思想生成再下一层的所有状态节点,这样一层一层往下展开。直到出现目标状态为止。

    按层次的顺序来遍历搜索树

  • 相关阅读:
    Leon-ai on WSL
    自动化测试工具
    创建自己的Spring Boot Starter
    Spring Boot内嵌Tomcat session超时问题
    Spring Boot
    Spring Cloud
    Socket编程之Tomcat模拟_采坑汇总
    访问者模式
    模版模式
    策略模式
  • 原文地址:https://www.cnblogs.com/wshyj/p/6260294.html
Copyright © 2011-2022 走看看