我正在使用 DFS 制作迷宫求解器,我想为它实现搜索树,但我对人工智能有点陌生,我想在这个问题上得到一点帮助。
我先举一个迷宫的例子:
char maze[5][9] =
"#########",
"# # #",
"# ## # #",
"# # #",
"#########",
所以我的 DFS 搜索树应该是这样的:
"#########",
"#12#15 10 11 #",
"#3##14 9 #12 #",
"#456 7 8 #13 #",
"#########",
父级的第一个子级 -> 右单元格(如果为空)
父级的第二个子级 -> 底部单元格(如果为空)
父级的第三个子级 -> 左单元格(如果它为空)
父级的第 4 个子级 -> 顶部单元格(如果为空)
我的求解器将接收我的迷宫数组作为参数。我的问题是:
第一个问题:这实际上是我的演员访问节点的方式吗?
第二个问题:在代码中我需要将 15 声明为 10 的孩子吗?(在其他情况下,例如 9 和 14)
第三个问题:当我的求解器收到数组时,我是否需要对数组进行预处理并从数组中构造树,还是我的演员会在他去的时候构造它?