完美散列·当完美散列的冲突概率小于1/2时,二级散列表的大小的期望值

完美散列·当完美散列的冲突概率小于1/2时,二级散列表的大小的期望值

**问题:**将N个元素放入两级散列表中,其中主散列表大小为N,当冲突概率小于1/2时,二级散列表的大小的期望值是多少?

欲计算完美散列中二级散列表的大小的期望值,我们需要先求解在普通散列表(即仅有一张表的散列表)中,当冲突概率小于1/2时,该散列表的大小

在普通散列表中,当冲突概率小于1/2时,该散列表的大小

设普通散列表的大小为M,需要放入该散列表的元素个数为N

原问题可转换为:将N个球放入M个盒中,M为多少时,可以使得多个球放入同一个盒的概率小于1/2

马尔科夫不等式

P { X ≥ a } ≤ E ( X ) / a P\{X\geq a\}\leq E(X)/a P{ Xa}E(X)/a

其中P为冲突概率,E为冲突期望,X为球的个数N,明显 N ≥ 1 N\geq1 N1,所以a=1

由马尔科夫不等式可知,当E(x)<1/2时, P ( X ) ≤ E ( X ) < 1 / 2 P(X)\leq E(X)<1/2 P(X)E(X)<1/2

那么问题转化为:将N个球放入M个盒中,多个球放入同一个盒的期望小于1/2时,M的值

M的值

多个球放入同一个盒可以理解为若干对两两组合的冲突,例如三个球A、B、C放入同一个盒,即是产生了(A,B)(A,C)(B,C)三个冲突

那么问题转化为:将N个球放入M个盒中,产生冲突的期望小于1/2时,M的值

任意一球落入盒中有M种情形,两球落入盒中则有 M 2 M^2 M2种情形,其中两球落入同一盒有M种情形,因此两球落入同一盒的概率为
M / M 2 = 1 / M (1) M/M^2=1/M \tag 1 M/M2=1/M(1)

N个球两两组合的可能情形有
C N 2 = N ( N − 1 ) / 2 (2) C_N^2=N(N-1)/2 \tag 2 CN2=N(N1)/2(2)
那么N球中任意两球落入同一盒(即产生冲突)的期望小于1/2时,结合(1)(2)可得
C N 2 × 1 / M < 1 / 2 N ( N − 1 ) / 2 M < 1 / 2 N ( N − 1 ) < M (3) C_N^2\times 1/M<1/2 \\ N(N-1)/2M<1/2 \\ N(N-1)<M \tag 3 CN2×1/M<1/2N(N1)/2M<1/2N(N1)<M(3)
一般我们取 M = N 2 M=N^2 M=N2

完美散列

设一级散列表第i个位置分配到 b i b_i

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值