我很困惑如何为迷宫编写 BFS 算法,
我知道我需要一个队列,但我的问题是如何生成状态?
例如,迷宫包含一个机器人和洞,以及积木
让以下是初始状态:
R BBB
H
H
B G
空间是空单元格(机器人可以穿过) B 是 block ,H 是孔,
我的问题是,要使用 BFS,我需要一个图(或相应的树)
但我不知道如何生成这些状态?
为了清除我的问题,让上面的初始状态为状态 A
我怎样才能找到状态 B、C、D ......等等?
应用BFS算法
我希望问题很清楚,
谢谢大家
最佳答案
如果迷宫是一个网格,那么状态就是一对两个数字:行索引和列索引。 (r, c) 的邻居是 (r-1, c), (r, c-1), (r, c+1), (r+1, c)。您可以维护一个配对队列以在您的迷宫中运行广度优先搜索。
关于algorithm - 在迷宫中广度优先搜索,我如何计算状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40854810/