深度优先搜索DFS和广度优先搜索BFS

Posted joezzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度优先搜索DFS和广度优先搜索BFS相关的知识,希望对你有一定的参考价值。

DFS简介

  深度优先搜索,从起点开始按照某个原则一直往深处走,直到找到解,或者走不下去,走不下去则回溯到前一节点选择另一条路径走,直到找到解为止。

BFS简介

  广度优先搜索,从起点开始先搜索其相邻的节点,由此向外不断扩散,直到找到解为止。

举例解释

技术分享图片

从1开始去寻找5

DFS:

  原则:优先选择左手边

  过程:1-2-3-4-6-4-5

BFS:

  队列情况:1

       2、5

          5、3

        5出来则找到

遍历图中所有点

DFS:

  原则:优先选择左手边

  过程:1-2-3-4-6-4-5

BFS:

  队列情况:1

       2、5

          5、3

       3、4

          4

       6

       6出来则结束

以上是关于深度优先搜索DFS和广度优先搜索BFS的主要内容,如果未能解决你的问题,请参考以下文章

DFS-深度优先搜索与BFS-广度优先搜索

算法-03 | 深度优先DFS| 广度优先BFS

深度优先搜索DFS和广度优先搜索BFS

深度优先搜索(DFS)和广度优先搜索(BFS)

什么时候使用深度优先搜索 (DFS) 与广度优先搜索 (BFS) 比较实用? [关闭]

深度优先搜索(DFS)与广度优先搜索(BFS)的Java实现