【问题标题】:5 popular hash functions..?5 个流行的哈希函数..?
【发布时间】:2023-03-31 14:59:01
【问题描述】:

我将在一周后参加 Google 现场面试。我知道哈希表、哈希映射、哈希函数非常有用,并且在许多面试问题(如字典、桶排序、检查整个文档的重复性)中派上用场,URL 的重复等,无论是在字符串上还是在整数上。我想知道整数和字符串上有哪些流行的哈希函数。

我能想到的是 h(n)=n 表示整数,也就是说我们想根据学生的分数对他们进行排名,即非常有限的可能值范围。

请帮助选择更流行的选择,尤其是字符串、文档。

谢谢,

【问题讨论】:

  • 抱歉,由于缺乏研究工作,这确实值得-1。

标签: data-structures hash


【解决方案1】:

对于字符串,可以使用字符串的cryptographic hash 作为hash table 的键。这通常会导致哈希键的均匀分布,这是一个很好的哈希表属性。

如果您想缩小密钥的大小(例如只有 32 位),您仍然可以选择 SHA-256 等加密哈希函数并使用低 32 位。

也可以将数字表示为字符串或二进制数据,并计算其加密哈希以确保密钥分布均匀。

一旦你的键是均匀分布的,你就不需要使用复杂的散列函数——你可以将键范围映射到同样大小的 bin 中。

为了更好地准备面试,您可能还想阅读this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 2011-12-10
    • 2016-03-25
    • 2011-02-27
    • 2016-12-22
    相关资源
    最近更新 更多