这个问题对于专家来说可能很简单,但对于像我这样的初学者来说这很重要。我的问题是有没有涉及树遍历的问题,可以通过BFS,DFS解决,而不是按顺序,预订等。换句话说,每当我看到树问题时,我是否应该只考虑3树遍历方法,或者也考虑BFS,DFS
答案 0 :(得分:21)
预订,有序和后序遍历是可能的三种不同深度优先搜索。因此,这不是使用DFS还是使用DFS中的一个的问题。如果您正在使用这三个遍历中的一个,那么 使用DFS。
是否存在BFS优于DFS的情况:是的,有。例如,要找到未加权图中两个节点之间的最短路径,可以使用BFS,因为BFS找到的第一条路径恰好是边缘最少的路径。 DFS也是如此。
答案 1 :(得分:2)
一个明显的例子,DFS不起作用,你 使用BFS是一个无限(或至少任意)高树。