BFS和DFS的比较

来源:互联网 发布:淘宝网申请退货 编辑:程序博客网 时间:2024/06/05 19:47

DFS和BFS的时间复杂度是相同的,没有优劣之分,只是视不同情况选择不同算法。
深度优先算法适合目标比较明确,以找到目标为主要目的的情况;
广度优先算法适合在不断扩大遍历范围时找到相对最优解的情况。

在图中:

  • 如果按边的权重寻找:
    比如最短路径之类的问题,首先找到距离起始点权重为1的点,之后找到权重为2的点…以此类推直至选找到最短的距离,这实质上就是BFS的一种变形。
  • 如果按邻接点寻找:
    比如寻找迷宫,只有一条到达出口的路径,这样的话,通过一个结点,在以这个结点为出发点进行类似操作…直至寻找到出口。即通过DFS的方法。
原创粉丝点击