基本上我试图找出一个计算二维空间中点的唯一标识号的公式。 条件 : 如果f(x,y)= c则没有其他X1,Y1,因此f(X1,Y1)= c x和y都是整数,c也必须是整数(double可能不适合,因为它的精度有问题,我不确定它是否适合用作哈希表中的键)。
答案 0 :(得分:1)
这当然是非常微不足道的。让我概述一个算法,我将把编码留作任何关心的人的练习。
拿一张纸,最好把它做成一张大纸,并在上面画一个正方形网格。使用从最小到最大的数字标记列,因此对于从1到大的数字,也就是大数。以相同的方式标记行。我假设您开始将行和列标记为1,然后此网格的左上角单元格将为(1,1)。
在(1,1)的单元格中写入数字1.在单元格(2,1)中写入2,在(1,2)中写入3,在(1,3)中写入4,在(2,2)中写5,....
现在你有一个从2D整数'空间'到1D整数空间的可逆映射。
感谢Cantor对此人的帮助。