逆夏de流年吧 关注:15贴子:347
  • 2回复贴,共1

考虑到数独运算过程中的数只用到0到9,只占4个bit,而我用

只看楼主收藏回复

考虑到数独运算过程中的数只用到0到9,只占4个bit,而我用int型(占4个字节)变量去储存它,造成了大量空间的浪费。同时程序中只是用到两个数之间的相等判断,不存在数据溢出的问题。这用位运算完全可以完成。从存储空间和比较次数来看,效率可能会提高8倍之多。鉴于以上考虑,我决定用位运算来进行数独的简化。


IP属地:湖北来自Android客户端1楼2019-12-09 11:52回复
    当然,用bit存储数独将使每个数不能构成一个字节,因此不能用数组去存储它,这里初步考虑用结构体来完成存储功能。


    IP属地:湖北来自Android客户端2楼2019-12-09 11:53
    回复
      广告
      立即查看
      后来实验发现,这样做并没有使耗时减少很多,可能是计算机内部比较的方法采取了一定的优化,也有可能这点计算量对计算机来说微不足道,这个想法就宣告无意义了。


      IP属地:湖北3楼2019-12-10 12:59
      回复