问题标签 [breadth-first-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5509 浏览

c# - C#图遍历——任意两个节点之间的跟踪路径

寻找一种很好的方法来跟踪两个节点之间的广度优先遍历,而无需对图一无所知。与深度优先(如果路径不成功,您可以丢弃路径)相比,您在遍历过程中可能有很多“开放”的可能性。

0 投票
5 回答
14153 浏览

algorithm - 最短根到叶路径

什么是最简单的方法,最好使用递归,在 BST(二叉搜索树)中找到最短的根到叶路径。首选Java,伪代码还可以。

谢谢!

0 投票
6 回答
594 浏览

c++ - C ++中对象的变量命名方案?

我正在实现一个 BFS,它要做的是通过一个有序的树来找到一个谜题的最短解决方案。

我将要做的是创建一个 Snapshot 对象,该对象保存拼图中每个部分的当前位置。我会将这个 Snapshot 对象添加到队列中并检查它是否是解决方案。但是,我正在动态创建这些快照。那么是否有某种方式可以在将 Snapshot 对象放入队列时自动生成它们的名称?

还是我必须跟踪我做了多少声明,然后硬编码说...

快照快照2;快照快照3;快照快照4;ETC..

0 投票
11 回答
17876 浏览

java - Java中的广度优先搜索

我必须在 Java 中运行广度优先搜索以获取作业。我有一个 5x5 的瓷砖网格(总共 24 个 - 1 个瓷砖是“空白的”)。搜索的重点是通过向上、向下、向左或向右移动“空白”来重新排列拼贴,最终将拼贴重新排列为正确的顺序。

为了进行这个搜索,我创建了一个 Arraylist 'queue'。我有一个方法可以获取这个数组列表索引 0 处的状态,找到可以遵循的每个合法移动,然后将它们分别添加到数组列表的末尾。

从理论上讲,这一直持续到最终找到“目标状态”。问题是,当我运行搜索时,“队列”数组列表继续变得越来越大。今天我让它运行了几个小时,仍然没有找到解决方案。

这表明我可能以错误的方式解决了这个解决方案,并且有一种更好的方法可以让我在 Java 中进行广度优先搜索。我知道我的解决方案确实有效(最终),因为当我使用与目标状态相差不大的开始状态时,找到正确的路径并不需要太长时间。但是,我已经获得了一个可以使用的开始状态,不幸的是,它与目标状态相去甚远!!!

任何提示或提示将不胜感激!

0 投票
2 回答
1570 浏览

c# - 在枚举队列时插入队列

我想使用队列对树进行广度优先搜索

但是我得到一个“枚举器被实例化后集合被修改”。例外。

有没有我可以使用的 C# 类型?


编辑:一点阅读让我觉得我可能做错了。

有没有办法使用 foreach 从队列中出列?


这可行但很丑(OMHO)

0 投票
3 回答
667 浏览

c# - TreeNode 广度优先枚举?

现在我的循环是

我的数据类似于

我只想枚举宽度(a、b 等,而不是 a1、a2 等)。我该怎么做呢?

0 投票
4 回答
129144 浏览

algorithm - 广度优先与深度优先

遍历树/图时,广度优先和深度优先有什么区别?任何编码或伪代码示例都会很棒。

0 投票
5 回答
4369 浏览

algorithm - 有人可以解释广度优先搜索吗?

有人可以解释广度优先搜索来解决以下问题吗 替代文字

我需要找到 4 到 7 之间的所有路径

0 投票
4 回答
796 浏览

c++ - 如何递归搜索列表中的项目,获得“最接近”的匹配

我有一个类“类”,它有一个成员 std::list,我想在该列表/树中搜索一个项目,特别是一个具有特定名称的项目。我的班级的基本表示如下:

我可以在 Class::findItem 中做这样的事情:

但是,我想要发生的是 findItem() 将“最接近”的项目返回到搜索的项目。例如,如果这是我的树,每个字母代表列表层次结构中的一个级别,每个数字代表项目“值”。我希望 findItem(3) 返回 B(3),而不是 C(3)。

0 投票
3 回答
10726 浏览

prolog - Prolog 中的广度优先

在 Prolog 中使用广度优先而不是默认的深度优先搜索方案的一般想法是什么?

不取无限分支?

在 Prolog 中有没有使用广度优先的一般方法?我一直在谷歌搜索,我没有找到太多对新手有用的信息。