散列n个密钥时,哪个散列函数产生最大冲突数?

时间:2016-09-07 16:59:30

标签: algorithm hash collision-detection collision hash-collision

我的问题与碰撞有关。散列n个键可能产生的最大冲突数是多少?我相信你可以通过拿n-1来找到它。但我不确定这是否正确。我特意试图弄清楚会产生许多碰撞的哈希函数。我只是很难理解问题的概念。任何有关该主题的帮助将不胜感激!

2 个答案:

答案 0 :(得分:3)

最大冲突数等于您散列的项目数。

示例:

哈希函数:h(x)= 3

所有项目将被哈希到键3。

请注意,您的案例中的密钥数量n并不会影响答案,因为无论您拥有多少个密钥,您的商品始终将会是使用上面提供的h(x)在键3中进行哈希处理。

可视化:

通常,哈希看起来像这样:

enter image description here

但如果我想拥有最大数量的碰撞,那么,通过使用上面提供的h(x),我将获得所有项目(图片中的名称)全部哈希到变化相同的键,即键3。

因此,在这种情况下,最大冲突数是名称数量,5。

答案 1 :(得分:0)

均匀散列中的最大预期冲突次数为 O(log(n)/loglog(n))