考虑一个具有n个存储桶的哈希表,其中使用外部(溢出)链接来解决冲突。哈希函数使得键值被哈希到特定存储桶的概率为1 / n。哈希表最初是空的,并且在表中插入了K个不同的值。
答案 0 :(得分:0)
在一次插入后存储桶1为空的概率为(n−1)/n
。这就是第一项没有散列到存储桶1的可能性。两次插入后它为空的事件由“ {第一项丢失存储桶1”和“第二项丢失存储桶一个”” (n - 1) * (n - 1) / n * n
定义。借此,我希望您可以计算出在K插入之后存储桶为空的可能性。
对于K = 1
,它是1
。对于K = 2
,第二项必须错过第一项的存储桶。因此它有n − 1
个可以放心的地方。因此,成功的概率为(n − 1) / n
。那第三项呢?它只有n−2
个地方可以去。因此,K = 3
的概率为(n − 1) * (n - 2) / n * n
。您可以概括。请注意K > n
的情况。
一旦您确定了前两部分的细节,您就可以在这两个部分上取得进展。
提示:如果(i)前k
个插入未碰撞(请参见2)和(ii)第k−1
个插入,则第一个碰撞发生在第k
个确实会引起碰撞(请参见2的补码)。
让我知道您是否能找出所有三个答案。否则,我会详细介绍。