1

基本上,我试图找出一个计算二维空间中点的唯一标识号的公式。条件:如果 f(x,y) = c 则没有其他 X1, Y1 使得 f(X1,Y1) = c x 和 y 都是整数并且 c 也必须是整数(double 可能不适合,因为它的精度是有问题的,我不确定它是否适合用作哈希表中的键)。

4

1 回答 1

1

当然,这是非常微不足道的。让我概述一个算法,我将把编码作为练习留给任何愿意做的人。

拿一张纸,最好把它弄大,然后在上面画一个方格。用从 min 到 max 的数字标记列,因此对于从 1 到大数的整数。以相同的方式标记行。我假设您从 1 开始标记行和列,那么该网格的左上角单元格将位于 (1,1)。

在 (1,1) 的单元格中写入数字 1。在单元格 (2,1) 中写入 2,在 (1,2) 中写入 3,在 (1,3) 中写入 4,在 (2,2) 中写入 5 , ....

您现在有一个从 2D 整数“空间”到 1D 整数空间的可逆映射。

感谢康托尔在这方面的帮助。

于 2012-06-25T07:33:57.107 回答