基本的に、2次元空間でドットの一意の識別番号を計算する式を見つけようとしています。条件 : f(x,y) = c の場合、他の X1、Y1 がないため、f(X1,Y1) = c x と y の両方が整数であり、c も整数でなければなりません (double は適していない可能性があります。精度には疑問があり、ハッシュテーブルのキーとして使用するのに適しているかどうかはわかりません)。
1 に答える
1
もちろん、これは非常に些細なことです。アルゴリズムの概要を説明しましょう。コーディングは、気になる人のための演習として残します。
一枚の紙を取り、それを大きなものにして、その上に正方形のグリッドを描きます。最小から最大までの数値で列にラベルを付けます。したがって、整数は 1 から大きな数値になります。行に同じようにラベルを付けます。行と列のラベル付けを 1 で開始したと仮定すると、このグリッドの左上のセルは (1,1) になります。
(1,1) のセルに数値 1 を書き込みます。セル (2,1) に 2 を書き込み、(1,2) に 3 を書き込み、(1,3) に 4 を書き込み、(2,2) に 5 を書き込みます。 、 ....
これで、2D 整数「空間」から 1D 整数空間への可逆マッピングができました。
これを手伝ってくれたCantorに感謝します。
于 2012-06-25T07:33:57.107 に答える