考虑这个问题:- 从链式哈希表中有效地挑选一个随机元素?
并认为这是第一个答案。它提出了一种以均匀随机方式选择密钥的方法。然而,这对我来说还不清楚。第一步将采用概率1/m
(即从 m 个桶中随机选择一个桶)
,而第二步可以分为两个步骤:
1)如果k<=p
,则返回 p。
2)如果k>p
然后循环再次运行。
这样做直到返回 p。
所以一个键被选中的概率是:
(1/m)[(k1/L)+((L-k1)/L)[(1/m)[(k2/L)+((L-k2)/L)[(1/m)[(k3/L)+((L-k3)/L)[......and so on.
现在这怎么能等于1/n
?