递归之使用回溯算法解数独

解决数独问题的一个常见算法是回溯算法,它是一种试探搜索型算法。基本思想是从根开始,从选项列表中选择一个选项,并试图按照深度优先搜索策略解决问题。如果在某一步该选择不可能得出正确的解决方案,那么算法将退回一步,删除该选择,并在下一次迭代中从剩余的选项中选择另一个选项。

在数独的背景下,这意味着我们将从左上角的第一个空格开始,然后选择一个数字(从1到9),然后继续填充下一个空格。如果我们发现无法填入任何数字,我们就会退回到上一个空格,并更改其值。这个过程会一直持续到我们找到一个解决方案,或者我们试验了所有可能的组合并确定无解。