提问人:user846445 提问时间:7/15/2011 最后编辑:Brian Tompsett - 汤莱恩user846445 更新时间:11/12/2015 访问量:386
表示数独谜题的正确数据结构?即与使用的其他数据结构相比,它应该使用更少的内存?
Proper data structure to represent a Sudoku puzzle? i.e it should use less memory compared to other data structure used?
答:
0赞
Cade Roux
7/17/2011
#1
怎么样 或者byte[81]
byte[9][9]
0赞
Mateen Ulhaq
7/17/2011
#2
最小内存量*:
byte puzzle[41];
GET_PUZZLE(x,y) = puzzle[(9*y+x)/2] >> ((9*y+x)%2 * 4) & 0x0F;
每个数字框以 4 位存储 - 因此每个字节有两个数字。
*仅测量数据结构;而不是被大量低效的 GET_PUZZLE()
占用的程序内存/etc。
易用性、可维护性、速度等:
byte puzzle[9][9];
GET_PUZZLE(x,y) = puzzle[x][y]
任何理智的人都会使用的东西。幸运的是,这也是最明显的。
下一个:Pig UDF 计算两个数字的幂
评论