bingtears
2009-03-02 10:34
浏览 385
已采纳

有喜欢数独的吗?

有喜欢数独的吗?最近在做毕业设计,数独解题方面的。

我有这样的想法,不知道能成不:我读进来一个int型的二维数组,把它转换为String型的,然后计算每个非1个数字的宫格的候选数,再通过删减候选数以及不断的修正可能性表解题。我的想知道是通过正则来计算候选数字快还是逐行、列、宫遍历快啊?(注意,这个删减候选数以及修正可能性表可能是很多次的重复,回溯,知道解出答案或者宣布无解为止)

PS:我对正则在工作时的内存管理不熟悉,请勿见笑。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • xenocide 2009-03-02 11:38
    已采纳

    遍历快,只要你的算法不是太糟糕。

    正则无非是把算法放在字符串里而已,正则表达式引擎解析了字符串,翻译成算法,结果还是做遍历。

    追求速度的话用C写,用一个unsigned int代表一个格子里的候选集,1到9位分别代表1到9,
    然后集合的交并补都可以通过位运算符实现,比String,Set,Array等数据结构都快得多。

    点赞 评论
  • Star_of_Java 2009-03-02 10:34

    在drools的官方代码里,有这么一个例子,就是解决数独的。
    使用了JAVA,SWING,Drools 实现的。

    点赞 评论
  • SoftwareTeacher 2021-01-31 14:57

    请看《编程之美》里面的介绍。 

    点赞 评论

相关推荐 更多相似问题