我有以下功能需要应用于2D矩阵中的每个单元格。我的矩阵可以有多达100万个细胞。计算这个的更快的方法是什么? 功能如下:
{{1}}
答案 0 :(得分:0)
我真的不认为你需要对每个细胞应用任何功能来解决迷宫问题。如果迷宫是基于2d矩阵构建的,这意味着试图找到出口的物体(人,鼠,等等)只能在四个方向上移动:上,下,左,右。
其中一个方向是你来自的那个方向,所以你可以排除一个方向,留下3个可能的动作。然后你需要做的就是解决迷宫问题,检查3个可能方向中的哪个方向没有墙并遵循该方向。找到分叉后,存储此位置并随机选择2条可能路径中的一条。如果你选择的路径导致死路一条,你会回到你来自的分叉处,然后走另一条路。
这是一个单一的递归函数,当应用于一个单元格时,检查你不是来自的3个相邻单元格应该足以解决2d迷宫问题。我真的不明白为什么你需要将一个功能应用到迷宫的每个位置。