【问题标题】:Key range size < 10, each number ∈ [0, 3] of a hash function键范围大小 < 10,哈希函数的每个数字 ∈ [0, 3]
【发布时间】:2019-09-10 17:47:30
【问题描述】:

我正在Key to Design a Hash Table上学习哈希表

1。哈希函数


哈希函数是哈希表中最重要的组成部分,用于将键映射到特定的桶。在上一篇的示例中,我们使用 y = x % 5 作为哈希函数,其中 x 是键值,y 是分配的桶的索引。

哈希函数将取决于the range of key valuesthe number of buckets

以下是哈希函数的一些示例:

设计一个散列函数是一个开放的问题。这个想法是尝试将密钥分配给存储桶为uniform as you can。理想情况下,一个完美的散列函数将是键和桶之间的一对一映射。然而,在大多数情况下,哈希函数并不完美,它是the amount of bucketsthe capacity of a bucket 之间的权衡。

参考

size < 10, each number ∈ [0, 3]

[0,3] 是什么意思?

【问题讨论】:

    标签: data-structures hash


    【解决方案1】:

    表示从零到三(含)或[0,1,2,3]。

    【讨论】:

    • 4 ** 0 + 4**1 + 4**4?
    • 好吧,如果我们计算它们,那里有四个数字,就像如果我们计算 [0,1] 有两个二进制数字一样。这些数字是标签,我们可以在 [apple,banana,cherry,grape] 中标记这些系统,并根据相似的那些定义哈希函数。
    • 为什么不使用number =2number = 4 直截了当。
    • 从某种意义上说,我可以说它的数学符号是你必须习惯的东西。在另一个我会说数字究竟是什么?我们知道你的意思是在这种情况下。如果你递给我一张整数数组小于 10 number =4 的空白纸。那是什么意思?这是否意味着数组中的每个数字都是 4?这是否意味着当时有 4 个,而 size 是它们的可能值?如果是这样,大小是否从零或 1 开始?你失去的比得到的多。至少有符号经验的人确切地知道你在说什么。
    猜你喜欢
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 2021-08-03
    • 2023-02-01
    • 2016-07-29
    • 2014-11-29
    相关资源
    最近更新 更多