首页 > 解决方案 > 广度优先搜索

问题描述

我知道在深度优先搜索中,我们总是选择最左边的孩子,我想知道当我们使用 BFS 时,我们是否也必须从左到右或者没关系?感谢您的时间。

标签: artificial-intelligencebinary-search-treedepth-first-searchbreadth-first-search

解决方案


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

在深度优先搜索中,您总是探索找到的第一个孩子的孩子,直到没有更多孩子(这可能意味着最左边、最右边、最中心等,具体取决于算法的应用)。探索前一个节点的子节点之前,您不会开始搜索节点的下一个子节点。

在广度优先搜索中,您首先按照给出的顺序识别所有孩子,然后再继续探索您识别的第一个孩子。例如,如果您以从左到右的方式生孩子,那么您将“从左开始”并向右工作,然后您将向下寻找根。

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


推荐阅读