Data structures 数据结构中的哈希
考虑一个具有n个bucket的哈希表,其中使用外部(溢出)链接来解决冲突。散列函数使得键值散列到特定bucket的概率为1/n。哈希表最初为空,并在表中插入K个不同的值Data structures 数据结构中的哈希,data-structures,hash,collision,chaining,Data Structures,Hash,Collision,Chaining,考虑一个具有n个bucket的哈希表,其中使用外部(溢出)链接来解决冲突。散列函数使得键值散列到特定bucket的概率为1/n。哈希表最初为空,并在表中插入K个不同的值 第k次插入后,桶号1为空的概率是多少 在任何一个K中没有发生碰撞的概率是多少 插入 第一次碰撞发生在第k次插入时的概率是多少 一次插入后桶1为空的概率为(n−1) /n。这是第一项没有散列到bucket 1的概率。两次插入后为空的事件由“第一项未命中存储桶1”和“第二项未命中存储桶1”定义,即(n-1)*(n-1)/n*n。有了
(n−1) /n
。这是第一项没有散列到bucket 1的概率。两次插入后为空的事件由“第一项未命中存储桶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
k,则第一个冲突发生在k
th插入上−1
插入没有冲突(参见2)和(ii)k
th插入确实导致冲突(参见2的补充)