2016-08-23 2 views
0

ハッシュが異なるID値のために同じインデックスを返すことができ返す関数:全単射ハッシュ関数

hash(id) = id%ARRAY_SIZE 

は、ハッシュ関数である全単射を持ってする方法はあります。私は考えました:

hash(id) = id 

しかし、私は連続したID値を持っていません。誰かがより良い解決策を持っていますか?

答えて

1

ハッシュ関数は、任意のサイズのデータ​​を固定サイズのデータ​​にマップするために使用できる任意の関数です。

Hash function on Wikipedia

その範囲が有限である一方、そのドメインは、無限であるので、そう定義によって、ハッシュ関数は、全単射することはできません。

+1

実際、固定された有限の入力セットに対して、完全なハッシュが存在します。 –