【问题标题】:How many elements need to be in a hash table to force an 11-way collision?哈希表中需要多少个元素才能强制进行 11 路冲突?
【发布时间】:2020-09-06 04:01:01
【问题描述】:

我正在解决这个问题:

你有一个大小为 100 的散列表。需要散列到散列表中的最少元素数是多少,以保证至少 11 个元素具有相同的散列值,而与散列函数无关?

在我看来,它应该是 111,因为存在 100 个可能的唯一哈希值;如果保证其中 11 个具有相同的哈希值,那么它应该是 100 + 11 = 111。

但是,给出的答案是 1001。

我的答案正确吗?如果没有,为什么不呢?

【问题讨论】:

    标签: math hash


    【解决方案1】:

    想象一下,您的哈希表拥有世界上最愚蠢的哈希函数,只需获取输入并将其修改 100。

    现在,将元素 1、2、3、...、111 插入表中。 100 个插槽中的每个插槽有多少个元素?

    要查看 1001 的来源,请以不同的方式思考这个问题。你可以在一个哈希表中塞入多少元素,使得每个槽的元素少于 11 个?再添加一个元素将强制某个插槽有 11 个元素。

    【讨论】:

      猜你喜欢
      • 2013-11-12
      • 2012-07-04
      • 2013-01-10
      • 2019-06-18
      • 2019-03-17
      • 2016-10-08
      • 1970-01-01
      • 2017-08-24
      • 2010-10-18
      相关资源
      最近更新 更多