17得票12回答
如何按层次从顶部开始打印二叉树中的数据?

这是一个面试题 我想出了一种解决方案。它使用了队列。public Void BFS() { Queue q = new Queue(); q.Enqueue(root); Console.WriteLine(root.Value); ...

17得票3回答
仅使用JavaScript进行DOM树遍历 - DFS和BFS?

有人能提供在纯JavaScript中实现DFS(深度优先搜索)和BFS(广度优先搜索)的代码、伪代码,或者好的链接吗?(不要使用JQuery或任何帮助库)我一直试图理解如何实现遍历,但我似乎无法真正区分BFS和DFS实现的差异。 如果我们需要一个具体的问题作为例子:我想遍历给定节点的DOM并获...

17得票2回答
JavaScript中的最短路径

我已经搜索了几周,想找到一种用JavaScript计算最短路径的方法。我一直在尝试使用Groner(非常恰当地命名)的书《数据结构与算法》中的代码,在https://github.com/loiane/javascript-datastructures-algorithms/tree/mast...

16得票3回答
如何在这种类型的迷宫中找到最短路径

Red Dot - Represents the initial location Black Dot - Already occupied Green - Free to occupy Destination - Boundry of the matrix [which means eith...

16得票2回答
如何使用广度优先搜索获取两个节点之间的路径?

我正在尝试在一个无权图中的两个节点之间找到一条路径。 我正在使用广度优先搜索算法,它会在找到目标节点后停止,以此来寻找路径的存在性,但我不确定如何得到路径本身。 我尝试查看已访问节点的列表,但这似乎没有帮助。我看到有人用Prolog回答了这个问题,但我是一个C++程序员。 我还看过Dij...

16得票7回答
高效地在大型图中找到最短路径

我希望找到一种实时查找巨大图中节点之间最短路径的方法。该图有数十万个顶点和数百万条边。我知道这个问题以前已经被问过了,我猜答案是使用广度优先搜索算法,但我更想知道可以使用哪些软件来实现它。比如说,如果已经存在一个库(带有Python绑定!)用于在无向图中执行广度优先搜索算法,那将会非常完美。

15得票1回答
如何找到BFS找到的实际路径?

我试图解决的问题涉及地铁系统的树形结构。 每个节点最多可以连接4个点,这大大简化了事情。以下是我的想法。struct stop { int path, id; stop* a; stop* b; stop* c; stop* d; }; 我可以编写代码...

15得票2回答
在无向图中查找两个顶点之间所有简单路径上的所有顶点。

枚举两个顶点之间所有简单路径在一般情况下需要指数级的时间,因为在这些顶点之间可能存在指数级数量的简单路径。但是,如果我们只关心那些出现在两个端点间至少一个简单路径上的顶点呢? 也就是说:给定一个无向图和两个不同的顶点,是否存在一个多项式时间算法来找到连接它们之间至少一个简单路径的每个顶点? ...

15得票4回答
BFS的时间复杂度取决于图的表示方法是什么?

我想知道使用以下哪种方式实现BFS的时间复杂度: 邻接矩阵 邻接表 边的列表 这个时间复杂度和它们的空间复杂度一样吗?

15得票3回答
为什么说深度优先搜索容易出现无限循环?

我多次阅读了与DFS和BFS相关的内容,但自始至终心中有一个疑问。很多文章中都提到DFS会陷入无限循环。 据我所知,通过跟踪已访问节点,就可以轻松解决这个限制。事实上,在我阅读的所有书籍中,这个小检查都是DFS的一部分。 那么为什么“无限循环”被提到作为DFS的缺点呢?这只是因为原始的DF...