深度优先搜索与广度优先搜索

时间:2014-04-15 15:55:00

标签: algorithm graph graph-theory graph-algorithm

是否存在可由DFS或BFS解决的图形问题,而不是其他问题?也就是说,是否存在可由BFS解决的图形问题,而不是DFS,反之亦然?

3 个答案:

答案 0 :(得分:4)

BFS但不是DFS:未加权的最短路径。

DFS但不是BFS:许多算法归功于Tarjan,例如强连接组件和双连通组件。

答案 1 :(得分:2)

最简单的示例是:找到在给定图形中从顶点A到顶点B必须遍历的最小边数。这可以通过BFS轻松解决,但不能通过DFS解决。但是,通常使用DFS来解决图表中的简单循环。

答案 2 :(得分:1)

是的:这是一个可以通过BFS而不是DFS解决的问题:

游戏规则

  • Board是3x3网格
  • 玩家可以选择任何可用空间并放置X
  • 玩家2可以选择任何可用空间并放置O
  • 当任一玩家连续三个符号时,游戏结束
  • 如果没有可用空格则游戏结束
  • 玩家可以选择跳过他们

<强>问题

搜索此游戏是否有可能结束。

BFS APPROACH

  • 尝试所有1-ply游戏
  • 尝试所有2层游戏
  • ...
  • 尝试所有9层游戏(其中一个是解决方案)

DFS APPROACH

  • 尝试所有以玩家一跳过的游戏
  • 尝试从上面开始的所有游戏,然后玩家二跳过他们
  • 尝试从上面开始的所有游戏,然后玩家一个跳过他们
  • ...
  • 热宇宙死亡