2011-11-22 99 views
6

我最近被给了一个家庭作业,询问是否给出了一个键列表,这将有可能使一个没有任何碰撞的哈希函数。做了一些研究,我发现给定一个预定义的密钥列表,完美的哈希函数是可能的。完美的哈希函数

但是,我不太清楚除此之外该说些什么。任何人都可以给我一些关于如何完善散列函数的建议,或者给出一个预定义列表对于散列函数的创建者有什么作用,它允许一个完美的函数?

感谢您的任何帮助。

回答

8

没有冲突的唯一方法是在密钥和哈希值之间具有1对1的关系。散列值的范围必须至少与键的数量一样大,映射函数必须将每个键转换为唯一值。更多信息在这里:http://en.wikipedia.org/wiki/Perfect_hash