递归回溯迷宫发生器(开始/结束)

时间:2017-05-24 18:12:18

标签: algorithm backtracking recursive-backtracking

因此,假设迷宫已经由算法生成。你怎么知道迷宫的起点和终点在哪里?因为在开始时,你选择一个随机单元格,并且在算法完成后你不知道迷宫的结束位置

1 个答案:

答案 0 :(得分:0)

我想先说一下你的问题不是很清楚,你没有提供任何具体的解释,但我仍然会尝试回答你的问题。

在编写递归函数时要记住的第一件事是,它始终需要基本条件,基本条件我的意思是一段代码将充当端点,否则您的代码将运行无限时间并且您的系统可能会崩溃

现在在你的情况下,因为你在迷宫内,所以你的基本条件是当你到达迷宫的边界时,那就是你将结果返回到前一个电话的时间。

比方说,我有一个10X10的迷宫。所以在这种情况下,我的墙将在: -

(0,0)
(0,10)
(10,0)
(10,10)

所以,如果我击中任何一个,那么我应该回来。而你的代码基本情况看起来像这样

if(x < 0 || x > 10 || y < 0 || y > 10)
{
   return <some_value>;
}

我希望你明白这一点。

希望这有帮助!