开发者社区> 问答> 正文

数独的递归深度不是空格数吗??报错

RT

在解数独的时候,采用深度优先搜索,递归的深度是不是就是空格数?比如,数独是9x9共81个格子,填满的有17个格子,剩下的81-17=64个格子是空的,那么递归的深度应该是64啊,可是为什么不是呢?因为运行报错:RuntimeError: maximum recursion depth exceeded in comparison

,而python递归深度默认有900多,说明远远超出了64的深度,这是怎么回事儿?

展开
收起
爱吃鱼的程序员 2020-06-22 17:56:55 451 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    两个建议:

    1.检查一下结束条件。或者加几行log,每次调用输出一下深度。

    2. sys.setrecursionlimit使用该方法设置一下递归深度。(一般不会是这里的问题,我记得默认也是900多,不过还是试一下吧。)

    终于搞出来了~深度是空格数,也就是最深只有81层递归深度。确实是结束条件的问题~谢谢~
    2020-06-22 17:57:13
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载