9得票2回答
在Haskell中使用状态单子进行广度优先搜索

最近,我在Stackoverflow上提出了一个有关从图中构建DFS树的问题,并学习到可以通过使用State Monad来简单实现。 Haskell中的DFS 尽管DFS仅需要跟踪已访问的节点,因此我们可以使用'Set'或'List'或某种线性数据结构来跟踪已访问的节点,但BFS需要使用“...

9得票2回答
邻接矩阵上的BFS

我正在尝试在无向无权图的邻接矩阵上实现广度优先搜索(BFS),并返回访问的节点数。目前我已经想到了以下代码,但是我认为这不正确,因为当我打印出顶点/已访问的节点时,有些节点会出现多次,并且它们没有排序。我在某个地方读到BFS是一种拓扑排序,但我得到的顺序并没有排序。 int BFS(std:...

9得票2回答
如何使用Haskell实现广度优先生成树的功能。

假设我有以下的Haskell树类型,其中“State”是一个简单的包装器: data Tree a = Branch (State a) [Tree a] | Leaf (State a) deriving (Eq, Show) 我还有...

9得票2回答
广度优先搜索解决迷宫问题

请问有人能够解释如何使用广度优先搜索(BFS)解决迷宫问题吗?我需要使用BFS找到迷宫中的最短路径,但是我感到非常困惑。 以下是我书中的伪代码: void breadth_first_search(tree T) { queue!; node u, v; initialize...

9得票4回答
只有两种可能成本的完全图。从0到N-1的最短路径成本是多少?

给定一个完整的无向图,有N个顶点。除了K条边的费用为A外,其余的边费用都为A。这K条边的费用为B,并且您知道它们(以一组对的形式)。从节点0到节点N-1的最小费用是多少。 2 <= N <= 500k 0 <= K <= 500k 1 <= A, B <=...

9得票3回答
Prolog中的广度优先搜索算法

在Prolog中使用广度优先搜索方案的一般想法是什么? 不选择无限分支? 在Prolog中使用广度优先搜索的一般方法是否存在?我已经在Google上搜索了一些资料,但对于新手来说并没有找到太多有用信息。

9得票1回答
Lua中如何快速实现队列?

我正在使用Lua制作游戏,并需要使用广度优先搜索算法来实现快速的路径查找,以便在敌方AI和玩家之间找到最短路径。 我将同时使用最多3个敌人来使用此算法,地图是一个二维基于瓷砖的迷宫。我已经实现了碰撞检测,现在要做的就是让敌人找到通向玩家的最短路径,以一种能够快速完成且每秒钟每个敌人可以处理8...

9得票2回答
最佳优先搜索和广度优先搜索

什么是最佳优先搜索和广度优先搜索之间的区别?我们把哪一个称为“BFS”?

9得票3回答
该算法的时间复杂度:单词阶梯游戏

问题: 给定两个单词(beginWord和endWord)以及一个字典的单词列表, 找出所有从beginWord到endWord的最短转换序列,满足以下条件: 一次只能更改一个字母。每个转换后的单词必须存在于字典的单词列表中。注意beginWord不是转换后的单词。 示例1: 输入: ...

8得票3回答
如何使用BFS查找两个节点之间的距离?

我使用维基百科的伪代码编写了以下c++ BFS代码。 该函数接受两个参数s和t。其中s是源节点,t是目标节点。如果找到目标节点,则返回目标本身,否则返回-1。 以下是我的代码: #include <iostream> #include <deque> #include...