Data structures 数据结构中的哈希

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个bucket的哈希表,其中使用外部(溢出)链接来解决冲突。散列函数使得键值散列到特定bucket的概率为1/n。哈希表最初为空,并在表中插入K个不同的值

  • 第k次插入后,桶号1为空的概率是多少
  • 在任何一个K中没有发生碰撞的概率是多少 插入
  • 第一次碰撞发生在第k次插入时的概率是多少
  • 一次插入后桶1为空的概率为
    (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

  • 一旦你解决了前两部分的细节,你可能也会在这方面取得进展

    提示:如果(i)第一个
    k,则第一个冲突发生在
    k
    th插入上−1
    插入没有冲突(参见2)和(ii)
    k
    th插入确实导致冲突(参见2的补充)

  • 如果你能找出所有的三个答案,请告诉我。否则,我会提供更多细节