我应该使用BFS,DFS进行树遍历还是有序,后期订购,预订?

时间:2010-12-24 15:03:13

标签: algorithm graph

这个问题对于专家来说可能很简单,但对于像我这样的初学者来说这很重要。我的问题是有没有涉及树遍历的问题,可以通过BFS,DFS解决,而不是按顺序,预订等。换句话说,每当我看到树问题时,我是否应该只考虑3树遍历方法,或者也考虑BFS,DFS

2 个答案:

答案 0 :(得分:21)

预订,有序和后序遍历是可能的三种不同深度优先搜索。因此,这不是使用DFS还是使用DFS中的一个的问题。如果您正在使用这三个遍历中的一个,那么 使用DFS。

是否存在BFS优于DFS的情况:是的,有。例如,要找到未加权图中两个节点之间的最短路径,可以使用BFS,因为BFS找到的第一条路径恰好是边缘最少的路径。 DFS也是如此。

答案 1 :(得分:2)

一个明显的例子,DFS不起作用,你 使用BFS是一个无限(或至少任意)高树。