5种流行的哈希函数..?

问题描述

| 我将在一个星期的时间内出现在Google现场面试中。我了解到哈希表,哈希图,哈希函数非常有用,并且在字典,存储桶排序等许多面试问题中非常方便,可用于检查整个文档的重复性, URL等,可以是字符串形式,也可以是整数形式。我想知道在整数和字符串上流行的哈希函数有哪些。 我能想到的是整数的h(n)= n,这里我们要根据学生的分数给学生排名,即可能的值范围非常有限。 请帮助更流行的选择,尤其是字符串,文档。 谢谢,     

解决方法

        对于字符串,可以使用字符串的加密哈希作为哈希表的密钥。这通常会导致哈希键的均匀分布,这是一个很好的哈希表属性。 如果要缩小密钥的大小(例如仅32位),您仍然可以选择诸如SHA-256之类的加密哈希函数,并使用低32位。 也可以将数字表示为字符串或二进制数据,并计算其加密哈希值以确保密钥分配均匀。 密钥均匀分布后,您无需使用复杂的哈希函数-您只需将密钥范围映射到大小相等的容器中即可。 为了更好地为面试做好准备,您可能还需要阅读本节。