广度优先搜索

我知道在深度优先搜索中,我们总是先探索最左边的子节点,我想知道在使用广度优先搜索时,是否也必须从左到右进行,还是顺序无关紧要?感谢您的时间。


回答:

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

在深度优先搜索中,你总是先探索找到的第一个子节点的所有子节点,直到没有更多的子节点(这可能意味着最左边、最右边或中间位置的子节点,具体取决于算法的应用)。在探索前一个节点的子节点之后,你才开始搜索下一个子节点。

在广度优先搜索中,你首先按照给定的顺序识别出所有子节点,然后再开始探索你已经识别的第一个子节点。例如,如果你按从左到右的方式获取子节点,那么你会“从左边开始”,然后向右移动,之后再向下寻找根节点。

这里有一个很棒的网站,可以让你玩转广度优先搜索和深度优先搜索,这样我刚才所说的话就会对你有意义:https://visualgo.net/en/dfsbfs

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注