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

有喜欢数独的吗?

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

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

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

  • 写回答

3条回答 默认 最新

  • xenocide 2009-03-02 11:38
    关注

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

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?