是否有任何图形问题可以通过DFS或BFS解决,但不能通过其他解决?也就是说,是否存在可以通过BFS解决但不能通过DFS解决的图问题,反之亦然?
BFS而非DFS:未加权的最短路径。
DFS而不是BFS:由于Tarjan的原因,有很多算法,例如强连通组件和双连通组件。
最简单的例子是:在给定的图中,找到从顶点A
到顶点B
必须遍历的最小边数。使用BFS可以很容易地解决这一问题,但使用DFS则无法解决。然而,在图中查找简单循环通常使用DFS来解决。
是的:有一个这样的问题可以通过BFS解决,但不能通过DFS解决:
游戏规则
- 板为3x3网格
- 玩家可以选择任何可用空间并放置X
- 玩家二可以选择任何可用空间并放置O
- 当任一玩家连续有三个类似的符号时,游戏结束
- 如果没有空位,游戏结束
- 玩家可以选择跳过回合
问题
搜索以查看此游戏是否有可能结束。
BFS方法
- 尝试所有1次游戏
- 尝试所有两次游戏
- 尝试所有9层游戏(其中一个是解决方案)
DFS方法
- 尝试所有以玩家一跳过回合开始的游戏
- 尝试以上开头的所有游戏,然后玩家二跳过回合
- 尝试以上开头的所有游戏,然后玩家一跳过回合
- 宇宙的热死