2016-08-23 173 views
0

返回哈希可以返回相同的指数不同的ID值的函数:双射哈希函数

hash(id) = id%ARRAY_SIZE 

有没有办法有哈希函数是双射。我想到:

hash(id) = id 

但我没有连续的id值。有人有更好的解决方案吗?

回答

1

散列函数是可用于将任意大小的数据映射到固定大小的数据的任何函数。

Hash function on Wikipedia

因此,通过定义,散列函数不能双射的,因为其结构域是无限的,而其范围是有限的。

+1

尽管如此,对于任何固定的有限输入集合,确实存在一个完美的散列。 –