广度优先搜索

时间:2018-06-24 20:54:20

标签: artificial-intelligence binary-search-tree depth-first-search breadth-first-search

我知道在深度优先搜索中我们总是和最左边的孩子一起去,我想知道当我们使用BFS时是否也必须从左向右走,还是没关系? 谢谢您的时间。

1 个答案:

答案 0 :(得分:2)

两种算法之间的差异不取决于您开始搜索的位置。而是取决于何时开始搜索。

在深度优先搜索中,您始终会探索找到的第一个孩子的孩子,直到没有更多孩子为止(这取决于算法的应用,这可能意味着最左边,最右边,最中心等)。直到之后探索上一个节点的子节点,您才开始搜索该节点的下一个子节点。

在广度优先搜索中,您先按照之前的顺序确定所有孩子,然后再探索您确定的第一个孩子。例如,如果您要以从左到右的方式生孩子,那么您将“从左开始”并向右工作,然后 then 下去寻找根。

这是一个很棒的网站,它将允许您使用bfs和dfs进行游戏,因此我刚才说的对您有意义: https://visualgo.net/en/dfsbfs