算法导论 思考题 11-2

(链接法中槽大小的界)假设有一个含n个槽的散列表,向表中插入n个关键字,并用链接法来解决冲突问题。每个关键字被等可能地散列到每个槽中。所有关键字被插入后,设M是各槽中所含关键字数的最大值。读者的任务是证明M的期望值E[M]的一个上界为O(lgn/lglgn)。

a. 证明:正好有k个关键字被散列到某一特定槽中的概率 Q_{k} 为

Q_{k} = (\frac{1}{n})^{k}(1 - \frac{1}{n})^{n-k}C_{n}^{k}

b. 设 P_{k} 为M = k的概率,即包含最多关键字的槽中有k个关键字的概率。证明:P_{k} \le nQ_{k} 。

c. 应用斯特林近似公式(3.18)来证明:Q_{k} \le \frac{e^{k}}{k^{k}} 。

d. 证明:存在常数c>1,使得 Q_{k_{0}} < \frac{1}{n^3} 对 k_{0} = \frac{clgn}{lglgn} 成立。并有结论:对 k \ge k_{0} = \frac{clgn}{lglgn} ,P_{k} < \frac{1}{n^2} 成立。

e. 证明:

E[M] \le Pr\{M > \frac{clgn}{lglgn}\} \cdot n + Pr \{M \le \frac{clgn}{lglgn}\} \cdot \frac{clgn}{lglgn}

并有结论:E[M] = O(\frac{lgn}{lglgn})


a、这问没什么好说的,从n个关键字中选k个落在某一特定槽中,每个概率均为1/n,另外的n-k个关键字不落在该特定槽中,每个概率为1-1/n,因此有:

Q_{k} = (\frac{1}{n})^{k}(1 - \frac{1}{n})^{n-k}C_{n}^{k}


b、考虑不等式右边 nQ_{k} 的含义,不难想到这是所有槽中有一个槽有k个关键字的概率,然后可分为两部分来看,一部分是其余槽中的关键字数量不超过k,即不等式左边的P_{k},另一部分是其余槽中存在关键字大于k的槽,不妨记其概率为P_{>k},有P_{k} + P_{>k} = nQ_{k} 和 P_{>k} \ge 0,因此:

P_{k} \le nQ_{k}


c、斯特林近似公式(3.18)为:n! = \sqrt{2\pi n}(\frac{n}{e})^{n}(1 + \Theta (\frac{1}{n}))

结合a中结论有:Q_{k} = (\frac{1}{n})^{k}(1 - \frac{1}{n})^{n-k}C_{n}^{k} = \frac{n \cdot (n - 1) \cdot...\cdot(n-k+1)}{k!}\cdot\frac{(n-1)^{n-k}}{n^n}

将 n\cdot(n-1)\cdot...\cdot(n-k+1) 放大为 n^{k},并根据斯特林近似公式对分母 k! 进行放缩,将其缩小至 (\frac{k}{e})^{k},代入上式得到:

Q_{k} \le \frac{n^k}{(\frac{k}{e})^{k}}\cdot\frac{(n-1)^{n-k}}{n^n} < \frac{e^k}{k^k}


d、考虑结合c中结论,只需使 \frac{e^{k_{0}}}{k_{0}^{k_{0}}} < \frac{1}{n^3} 即可,对其两边取以2为底的对数有:

k_{0}lge - k_{0}lgk_{0} < -3lgn

代入 k_{0} = \frac{clgn}{lglgn} 并两边同除以 -lgn,化简得到:

-\frac{clge}{lglgn} + \frac{clgc}{lglgn} + c - \frac{clglglgn}{lglgn} > 3

前两项和后两项结合有:

\frac{c(lgc - lge)}{lglgn} + c(1 - \frac{lglglgn}{lglgn}) > 3

这里我们只需取c=7即可令上式成立,因为前半部分在c>e时大于零,后半部分在(0, +∞)上最小值在lglgn为e时取得,约为0.47c

不难发现,Q_{k}随k是递减的,结合b中结论,在k \ge k_0 时,总有:

P_k \le nQ_k < nQ_{k_0} < \frac{1}{n^2}


e、感觉没啥好写的,通过把关键字最大值大于 \frac{clgn}{lglgn} 时对应的最大值放大为n,小于 \frac{clgn}{lglgn} 时对应的最大值放大为 \frac{clgn}{lglgn} 即可得到:

E[M] \le Pr\{M>\frac{clgn}{lglgn}\}\cdot n + Pr\{M\le\frac{clgn}{lglgn}\}\cdot \frac{clgn}{lglgn}

结合d中结论,有:

E[X] \le Pr\{M > \frac{clgn}{lglgn}\} \cdot n + (1 - Pr\{M > \frac{clgn}{lglgn}\}) \cdot \frac{clgn}{lglgn}

即:

E[X] \le \frac{clgn}{lglgn} + (n - \frac{clgn}{lglgn}) \cdot \frac{1}{n^2} \cdot (n - \frac{clgn}{lglgn}) = O(\frac{clgn}{lglgn})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值