算法导论习题11-1

算法导论习题11-1

(散列最长探索的界) 采用开放寻址法,用一个大小为 m m m的散列表来储存 n n n( n ≤ m / 2 n \le m/2 nm/2)个数据项目。
a. 假设采用均匀散列,证明:对于 i = 1 , 2 , ⋯   , n i=1,2,\cdots,n i=1,2,,n,第 i i i次插入需要严格多于 k k k次探查的概率至多为 2 − k 2^{-k} 2k

Answer:
i i i次插入时,已经有 i − 1 i-1 i1个桶中有元素,则 k k k次探查都命中有元素的桶的概率为:
p ( k ) = ∏ j = 1 k i − j m p(k) = \prod_{j=1}^{k}\frac{i-j}{m} p(k)=j=1kmij

已知 n ≤ m / 2 n \le m/2 nm/2,则有:
p ( k ) = ∏ j = 1 k i − j m ≤ ∏ j = 1 k m / 2 m = 2 − k p(k) = \prod_{j=1}^{k}\frac{i-j}{m} \le \prod_{j=1}^{k}\frac{m/2}{m} = 2^{-k} p(k)=j=1kmijj=1kmm/2=2k

证毕。

b. 证明:对于 i = 1 , 2 , ⋯   , n i=1,2,\cdots,n i=1,2,,n,第 i i i次插入需要多于 2 lg ⁡ n 2\lg n 2lgn次探查的概率为 O ( 1 / n 2 ) O(1/n^2) O(1/n2)

Answer:
i i i次插入时,已经有 i − 1 i-1 i1个桶中有元素,则 2 lg ⁡ n 2\lg n 2lgn次探查都命中有元素的桶的概率为:
p ( k ) = ∏ j = 1 2 lg ⁡ n i − j m p(k) = \prod_{j=1}^{2\lg n}\frac{i-j}{m} p(k)=j=12lgnmij

已知 n ≤ m / 2 n \le m/2 nm/2,则有:
p ( 2 lg ⁡ n ) = ∏ j = 1 2 lg ⁡ n i − j m ≤ ∏ j = 1 2 lg ⁡ n m / 2 m = 2 − 2 lg ⁡ n = 1 n 2 = O ( 1 / n 2 ) p(2\lg n) = \prod_{j=1}^{2\lg n}\frac{i-j}{m} \le \prod_{j=1}^{2\lg n}\frac{m/2}{m} = 2^{-2\lg n} = \frac{1}{n^2} = O(1/n^2) p(2lgn)=j=12lgnmijj=12lgnmm/2=22lgn=n21=O(1/n2)

证毕。

c. 设随机变量 X i X_i Xi表示第 i i i次插入所需的探查次数。上面(b)中已证明 P r { X i > 2 lg ⁡ n } = O ( 1 / n 2 ) Pr\{X_i>2\lg n\}=O(1/n^2) Pr{Xi>2lgn}=O(1/n2)。设随机变量 X = max ⁡ 1 ≤ i ≤ n X i X = \max_{1\le i \le n}X_i X=max1inXi表示 n n n次插入中所需探查术的最大值。证明: P r { X > 2 lg ⁡ n } = O ( 1 / n ) Pr\{X>2\lg n\} = O(1/n) Pr{X>2lgn}=O(1/n)

Answer:
由(b)可知 P r { X i > 2 lg ⁡ n } ≤ 1 n 2 Pr\{X_i>2\lg n\} \le \frac{1}{n^2} Pr{Xi>2lgn}n21,那么:
P r { X i ≤ 2 lg ⁡ n } ≥ 1 − 1 n 2 Pr\{X_i\le2\lg n\} \ge 1 - \frac{1}{n^2} Pr{Xi2lgn}1n21

则有:
P r { X 1 ≤ 2 lg ⁡ n , X 2 ≤ 2 lg ⁡ n , ⋯   , X n ≤ 2 lg ⁡ n } ≥ ( 1 − 1 n 2 ) n Pr\{X_1\le2\lg n,X_2\le2\lg n,\cdots,X_n\le2\lg n\} \ge \left(1-\frac{1}{n^2}\right)^n Pr{X12lgn,X22lgn,,Xn2lgn}(1n21)n

又有:
P r { X > 2 lg ⁡ n } = 1 − P r { X 1 ≤ 2 lg ⁡ n , X 2 ≤ 2 lg ⁡ n , ⋯   , X n ≤ 2 lg ⁡ n } Pr\{X > 2\lg n\} = 1 - Pr\{X_1\le2\lg n,X_2\le2\lg n,\cdots,X_n\le2\lg n\} Pr{X>2lgn}=1Pr{X12lgn,X22lgn,,Xn2lgn}

故:
P r { X > 2 lg ⁡ n } ≤ 1 − ( 1 − 1 n 2 ) n = 1 − e I ( n ) Pr\{X > 2\lg n\} \le 1 - \left(1-\frac{1}{n^2}\right)^n = 1 - e^{I(n)} Pr{X>2lgn}1(1n21)n=1eI(n)

其中 I ( n ) = n ln ⁡ ( 1 − 1 / n 2 ) I(n) = n\ln(1-1/n^2) I(n)=nln(11/n2),将 I ( n ) I(n) I(n)展开:
I ( n ) = n ( − 1 n 2 − 1 2 ( 1 n 2 ) 2 + o ( 1 n 2 ) ) = − 1 n + o ( 1 n ) I(n) = n\left(\frac{-1}{n^2}-\frac{1}{2}\left(\frac{1}{n^2}\right)^2 + o(\frac{1}{n^2})\right) = \frac{-1}{n} + o(\frac{1}{n}) I(n)=n(n2121(n21)2+o(n21))=n1+o(n1)

且有:
e I ( n ) = 1 + I ( n ) + o ( I ( n ) ) e^{I(n)} = 1 + I(n) + o(I(n)) eI(n)=1+I(n)+o(I(n))

故:
P r { X > 2 lg ⁡ n } ≤ 1 − e I ( n ) = 1 − ( 1 + ( − 1 n + o ( 1 n ) ) ) = 1 n + o ( 1 n ) Pr\{X > 2\lg n\} \le 1 - e^{I(n)} = 1 - \left(1 + \left(\frac{-1}{n} + o(\frac{1}{n})\right)\right) = \frac{1}{n} + o(\frac{1}{n}) Pr{X>2lgn}1eI(n)=1(1+(n1+o(n1)))=n1+o(n1)

因此:
P r { X > 2 lg ⁡ n } = O ( 1 / n ) Pr\{X > 2\lg n\} = O(1/n) Pr{X>2lgn}=O(1/n)

证毕。

d.证明:最长探查序列的期望长度为 E [ x ] = O ( lg ⁡ n ) E[x]=O(\lg n) E[x]=O(lgn)

Answer:
根据定义,有:
在这里插入图片描述
证毕。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值