这个问题对于专家来说可能很简单,但对于像我这样的初学者来说非常重要。我的问题是是否有一些树遍历问题只能通过BFS、DFS而不是in-order、pre-order等方法来解决。换句话说,每当我看到一个树的问题时,我应该只考虑这3种树遍历方法吗?还是也应该考虑BFS和DFS呢?
先序遍历、中序遍历和后序遍历是三种不同的深度优先搜索方式。因此,问题并不在于使用深度优先搜索还是这三种方法之一。如果您正在使用其中一种遍历方法,则您就是在使用深度优先搜索。 至于是否有BFS比DFS更可取的情况:是的,有。例如,在无权图中查找两个节点之间的最短路径时,可以使用BFS,因为BFS找到的第一条路径恰好是边数最少的路径。但对于DFS来说则不是这样。
A
处于第一级的情况。节点B,C,D,E,F
处于第二级,在这里你可以通过A>B>C>D>E
或A>F>E
到达E
,我们也需要找到到达E
的所有路径吗? - M Sach