Breadth-First 搜索

Breadth-First Search

我知道在 Depth-First 搜索中我们总是使用 left-most child,我想知道当我们使用 BFS 时我们是否也必须从左到右或者它不是没关系? 谢谢你的时间。

两种算法之间的差异并不取决于您从哪里开始搜索。相反,它取决于您何时开始搜索。

在 depth-first 搜索中,您总是探索找到的第一个 child 的 children 直到没有更多的 children (这可能意味着最左边,最右边, centermost 等,具体取决于算法的应用)。在 探索前一个节点的 children 之前,您不会开始搜索节点的下一个 child。

在 breadth-first 搜索中,您首先按照给定的顺序识别所有 children ,然后 继续探索第一个 child 你已经确定了。例如,如果您以 left-to-right 的方式获得 children,那么您将 "start from the left" 并向右移动,然后 然后 您将下去找根

这是一个很棒的网站,可以让您使用 bfs 和 dfs,这样我刚才说的对您来说就有意义了: https://visualgo.net/en/dfsbfs