我使用深度优先搜索制作了一个迷宫生成器,它返回一组磅和空格来指示迷宫。例子:
char maze[height][width] =
{
"#########",
"# # #",
"# ### # #",
"# # # #",
"# # # ###",
"# # # #",
"# ### # #",
"# # #",
"#########",
};
代理将始终从左上角 (maze[1][1]) 开始并从右下角 (maze[7][7]) 退出。
我正在尝试使用深度优先搜索来制作求解器。
问题是我是一个初学者到中级程序员,所以我很难理解如何在 C++ 中实现深度优先搜索,而且我在迷宫中实现它的难度更大。
我对堆栈、队列等有基本的了解。我也知道 DFS 在树中的工作原理(理论上差不多),但我的主要问题是如何在存储在 2D 数组中的迷宫中实现这一点。
我想专门学习 DFS,这样我就可以开始了,然后我将实施其他搜索策略(例如 BFS)来开始接触 AI。
编辑:我不想要现成的代码!!!我希望您帮助我了解如何将伪代码传输到 C++ 中进行迷宫!