469得票15回答
选择深度优先搜索(DFS)和广度优先搜索(BFS)之间需要考虑哪些实际因素?

我了解DFS和BFS之间的差异,但我想知道在选择DFS vs BFS时需要考虑哪些因素。 比如避免在非常深的树上使用DFS等。

213得票4回答
广度优先与深度优先搜索

遍历树/图时,广度优先和深度优先的区别是什么?提供任何编码或伪代码示例都可以。

114得票11回答
为什么在寻找图中的循环时使用DFS而不是BFS?

主要情况下,DFS 用于在图中查找循环,而不是 BFS。有什么原因呢?两者都可以在遍历树/图时查找节点是否已经被访问。

63得票4回答
迭代式深度优先搜索与递归式深度优先搜索以及不同的元素顺序。

我写了一个递归的深度优先搜索算法来遍历一个图:void Graph<E, N>::DFS(Node n) { std::cout << ReadNode(n) << " "; MarkVisited(n); NodeList ad...

56得票5回答
使用深度优先搜索检测图中的循环:2种不同的方法及其区别

注意,图形表示为邻接列表。我听说过有两种方法可以在图中找到循环:保留一个布尔值数组来跟踪您以前是否访问过节点。 如果您用尽了要去的新节点(没有命中已经访问过的节点),则回溯并尝试不同的分支。来自Cormen的CLRS或Skiena的方法:对于未定向图中的深度优先搜索,有两种类型的边缘,树形和反...

50得票3回答
迭代加深搜索与深度优先搜索

我一直在阅读关于迭代加深的内容,但是我不明白它与深度优先搜索有什么不同。 我了解到深度优先搜索会继续往更深的层级搜索。 迭代加深算法会确定一个初始的深度值,如果在该层级没有找到解决方案,则将该值递增,并从头开始搜索(回到根节点)。 这难道不和深度优先搜索相同吗? 我的意思是您会不断递增...

49得票16回答
我该如何记住深度优先搜索和广度优先搜索使用哪些数据结构?

我经常混淆DFS或BFS使用堆栈(stack)还是队列(queue)。请问有人可以提供一些直觉来记住哪种算法使用哪种数据结构吗?

45得票5回答
先序遍历二叉树和深度优先搜索是否相同?

我认为Pre-order遍历和DFS在许多情况下都是相同的,因为两种遍历方式都会按深度优先的方式一直遍历到叶子节点。如果我有错误,请有人纠正一下吗? 提前感谢!

44得票5回答
BFS和DFS的运行时间解释

为什么BFS和DFS的运行时间是O(V + E),特别是当有一个节点指向一个可以从顶点到达的节点的有向边时,例如在以下网站中的此示例。 http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/GraphAlgor/dept...

40得票4回答
A*是最优秀的路径规划算法吗?

一般认为A*算法是解决路径规划问题最好的算法。 但是否存在某些情况下A*算法不是寻找解决方案最好的算法呢? 与BFS、DFS、UCS等算法相比,A*算法的效率如何?