- 博客(41)
- 收藏
- 关注
原创 5.3-5
P=∏n−1i=0(1−in3)≥∏n−1i=0(1−nn3)=(1−1n2)n≥1−1nP=\prod_{i=0}^{n-1}(1-\frac{i}{n^3})\geq \prod_{i=0}^{n-1}(1-\frac{n}{n^3})=(1-\frac1{n^2})^n\geq 1-\frac1n
2015-06-03 23:00:08 297
原创 5.3-4
dest=(i+offset) mod ndest = (i + offset)\ mod\ n offset有n种取值,则dest也有n种,概率为1/noffset有n种取值,则dest也有n种,概率为1/n 事实上,这个算法只能生成n种序列
2015-06-03 22:52:33 238
原创 5.2-5
记Xij=I{第i项和第j项构成逆序对}记X_{ij}=I\{第i项和第j项构成逆序对\} 因为对于i,j两项,只有第i项大于第j项或第j项大于第i项两种可能,两种概率相同 ∴E[Xij]=P(Xij)=1/2\therefore E[X_{ij}]=P(X_{ij})=1/2 E[X]=∑n−1i=1∑nj=i+11/2=n(n−1)4E[X]=\sum_{i=1}^{n-1}\sum_{j
2015-06-03 22:28:58 204
原创 5.2-4
记Xi为第i人拿到帽子事件,E(Xi)=1/n记X_i为第i人拿到帽子事件,E(X_i)=1/n E(X)=∑ni=1E(Xi)=1E(X)=\sum_{i=1}^nE(X_i)=1 即期望有1个人拿到正确的帽子
2015-06-03 22:19:27 133
原创 5.2-3
Xi为第i次点数,则E(Xi)=3.5X_i为第i次点数,则E(X_i)=3.5 E(X)=∑ni=1E(Xi)=3.5nE(X)=\sum_{i=1}^n E(X_i)=3.5n
2015-06-03 22:14:29 210
原创 5.2-2
最好的人在i位的概率为1/n,前i−1人中,最好的在第1位的概率为1/(i−1)(i>1)最好的人在i位的概率为1/n,前i-1人中,最好的在第1位的概率为1/(i-1)(i>1) P=∑n21n1i−1=1nln(n−1)P=\sum_2^n\frac1n\frac1{i-1}=\frac1nln(n-1)
2015-06-03 22:12:07 218
原创 5.2-1
雇用1次,则最好的人一定在第一位,p=1/np=1/n 雇佣n次,说明每次面试的人都比上一个好,是一个唯一序列,故p=1/n!p=1/n!
2015-06-03 22:00:41 202
原创 5.1-3
1.利用BIASED−RANDOM先后生成两个数a,b利用BIASED-RANDOM先后生成两个数a,b 2.若a>b输出1,若a<b输出0,否则重复1若a>b输出1,若a<b输出0,否则重复1每一次能输出结果的概率是P=2p(1−p),E=12p(1−p)P=2p(1-p),E=\frac{1}{2p(1-p)} 故T=O(2E)=O(1p(1−p))T=O(2E)=O(\frac{1}{p(
2015-06-03 21:54:28 132
原创 5.1-2
令n=b−a,c=⌈lgn⌉令n=b-a,c=\lceil lgn\rceil 1. 运行c次RANDOM(0,1),将生成的序列视为输出数m的二进制表示 2. 若m大于n,则重复1,否则输出m+am小于n的概率为p=n/2c,则期望E=2c/np=n/2^c,则期望E=2^c/n 故T=O(Ec)=O(c2c/n)=O(lg(b−a))T=O(Ec)=O(c2^c/n)=O(lg(b-a))
2015-06-03 21:47:26 199
原创 4-6
a) 若所有坏芯片检测到怀芯片都报告好,检测到好芯片都报告坏,则坏芯片组内部互相检测均为好,检测好芯片组均为坏,其行为与好芯片组完全一样,则不能区分好坏组 b) 我们先假设芯片总数是偶数,则将所有芯片两两一组,每组进行一次测试,若均报告好,则从中取出一个芯片,否则不取任何芯片。则操作后问题规模至少下降一半。 由于好芯片多于坏芯片,所以好好组合多于坏坏组合,故挑选后的芯片好芯片多于一半。 若芯片
2015-06-03 21:38:51 205
原创 4-4
a) a=3,b=2,符合主定理情况1,T=Θ(nlg3)a=3,b=2,符合主定理情况1,T=\Theta(n^{\lg 3}) b) 不能用主定理解决,第i层的代价为nlgn−i第i层的代价为\frac{n}{\lg n-i},非叶子结点代价合计为 ∑lgn−1i=0nlgn−i=nlglgn\sum_{i=0}^{lgn-1}\frac{n}{lgn-i}=nlglgn,叶子结点代价为nT
2015-06-03 21:38:20 243
原创 4-5
a) z+zF(z)+z2F(z)=z+∑∞i=2Fi−1zi+∑∞i=3Fi−2ziz+zF(z)+z^2F(z)=z+\sum_{i=2}^\infty F_{i-1}z^i+\sum_{i=3}^\infty F_{i-2}z^i =0+z+z2+∑∞i=3Fizi=F(z)\ \ = 0+z+z^2+\sum_{i=3}^\infty F_{i}z^i=F(z)b) 太显然了。。。移项
2015-06-03 21:37:12 280
原创 4-3
a) 1) T(n)=T(n/2)+c,T=Θ(lgn)T(n)=T(n/2)+c, T=\Theta(\lg n) 2) T(n)=T(n/2)+cN,T=cNlgn=Θ(nlgn)T(n)=T(n/2)+cN, T=cN\lg n=\Theta(n\lg n) 3) T(n)=T(n/2)+cn,根据主定理a=1,b=2,f(n/2)<23f(n)T(n)=T(n/2)+cn, 根据主定
2015-06-03 21:36:44 251
原创 4-2
代码戳这里基本思路为循环⌈lgn⌉基本思路为循环\lceil\lg n\rceil次,第i步中寻找数组中和缺失数关于2i同余的数第i步中寻找数组中和缺失数关于2^i同余的数 ,最终的余数就是答案 设第i次循环开始前,待搜索数组的大小为sizeisize_i,则按照前面的思路,该数组中的元素和缺失数关于2i−1同余2^{i-1}同余。若我们将这些数连同缺失数从小到大排序,则会发现它们的前i−1i-1位
2015-06-03 21:35:56 234
原创 4-1
a) a=2,b=2,f(n)=n3a=2,b=2,f(n)=n^3 f(n)=Ω(nlog22+2),2f(n/2)=n3/4≤0.5f(n)f(n)=\Omega(n^{log_22+2}),2f(n/2)=n^3/4\leq0.5f(n) 故T(n)=Θ(n3)故T(n)=\Theta(n^3) b) a=1,b=10/9,f(n)=na=1,b=10/9,f(n)=n f(n)=
2015-06-03 18:51:37 276
原创 4.4-3
不进行严格的数学证明了 ∵af(n/b)≤cf(n)\because af(n/b)\leq cf(n) ∴f(n)≥(a/c)logbnd=nlogba/c(d为常数)\therefore f(n)\geq (a/c)^{log_bn}d=n^{log_ba/c}(d为常数) ∴f(n)=Ω(nlogba/c)=Ω(nlogba+ε)(因为c<1)\therefore f(n)=\Omega
2015-06-03 18:26:55 367
原创 4.4-2
g(n)=∑logbn−1j=0ajf(n/bj)g(n) = \sum_{j=0}^{\log_b{n}-1}a^jf(n/b^j) f(n/bj)=Θ((n/bj)logbalgk(n/bj))f(n/b^j)=\Theta\Big((n/b^j)^{\log_b{a}}\lg^k(n/b^j)\Big) g(n)=Θ(∑logbn−1j=0aj(nbj)logbalgk(nbj))=Θ(A
2015-06-03 18:00:01 265
原创 4.4-1
用数学归纳法证明nj=⌈n/bj⌉用数学归纳法证明n_j=\lceil n/b^j \rceil 当j=0时,n0=n=⌈n⌉显然成立当j=0时,n_0=n=\lceil n\rceil显然成立 假设当j=k时,nk=⌈n/bk⌉假设当j=k时,n_k=\lceil n/b^k \rceil 设t<bk,m,n=mbk+t设t<b^k,m,n=mb^k+t 则当j=k+1时,nk+1=⌈⌈n
2015-06-03 17:23:44 249
原创 4.3-5
令a=1,b=2,f(n)=n(2−cosnπ)=Ω(nlog21+1)a=1,b=2,f(n)=n(2-\cos n\pi)=\Omega(n^{log_21+1}) 为了使af(n/b)=f(n/2)≤cf(n)为了使af(n/b)=f(n/2)\leq cf(n) 当n≡2(mod4)时,cosnπ=1,cosnπ2=−1当n \equiv 2(mod 4)时,cosn\pi = 1, c
2015-06-03 14:59:02 243
原创 4.3-4
∵ω(nlog24)=n2lgn=o(nlog24+ε),ε>0\because \omega(n^{log_24}) = n^2lgn = o(n^{log_24+\varepsilon}),\varepsilon > 0 ∴不能用主定理证明\therefore 不能用主定理证明猜测T(n)≤cn2lg2nT(n)\leq cn^2lg^2n T(n)≤cn2(lgn−1)2=cn2lg2n−
2015-06-03 14:15:37 235
原创 4.3-3
a=1,b=2,f(n)=1a=1,b=2,f(n)=1 f(n)=Θ(nlog21),故T(n)=Θ(nlog21lgn)=Θ(lgn)f(n)=\Theta(n^{log_21}),故T(n)=\Theta(n^{log_21}lgn)=\Theta(lgn)
2015-06-03 13:56:51 329
原创 4.3-2
A递归式中a=7,b=2,f(n)=n2a=7,b=2,f(n)=n^2 f(n)=O(nlog27−log27/4),故T(n)=Θ(nlog27)f(n)=O(n^{log_27-log_2{7/4}}),故T(n)=\Theta(n^{log_27})A′中log4a<log27,故最大的a=48A'中log_4a<log_27,故最大的a=48
2015-06-03 13:50:12 208
原创 4.3-1
a) a=4,b=2,f(n)=na=4,b=2,f(n)=n f(n)=O(nlog24−1),故T(n)=Θ(n2)f(n)=O(n^{log_24-1}),故T(n)=\Theta(n^2) b) a=4,b=2,f(n)=n2a=4,b=2,f(n)=n^2 f(n)=Θ(nlog24),故T(n)=Θ(n2lgn)f(n)=\Theta(n^{log_24}),故T(n)=\Th
2015-06-03 13:35:56 293
原创 4.2-5
设t=min(1/a,1/(1−a))设t=min(1/a,1/(1-a)) 每一层的代价为cn 最深层数为logtnlog_tn 总代价为T(n)=O(cnlogtn)=O(nlgn)T(n)=O(cnlog_tn)=O(nlgn)同理可得T(n)=Ω(nlgn)T(n)=\Omega(nlgn) 故T(n)=Θ(nlgn)T(n)=\Theta(nlgn)
2015-06-03 13:17:24 236
原创 4.2-4
a是常数,故设T(a)=d,d为常数a是常数,故设T(a)=d,d为常数 共n/a层,每一层开销为c(n−ia)+d共n/a层,每一层开销为c(n-ia)+d 故总开销为Θ(n2)+Θ(n)=Θ(n2)\Theta(n^2)+\Theta(n)=\Theta(n^2)猜测T(n)≤m(n+a)2猜测T(n)\leq m(n+a)^2 T(n)≤mn2+cn+d≤m(n+a)2,最后一步只需保证
2015-06-03 12:58:43 252
原创 4.2-3
每一层的代价为cn2icn2^i 层数为lgnlgn 故开销为cn2=Θ(n2)cn^2=\Theta(n^2)假设T(n)≤cn2−(n+1),则假设T(n)\leq cn^2-(n+1),则 T(n)≤cn2−2(n+1)+cn≤cn2−(n+1),最后一步只需c=1即可T(n)\leq cn^2-2(n+1)+cn\leq cn^2-(n+1),最后一步只需c=1即可 故T(n)=O(
2015-06-03 11:07:34 185
原创 4.2-1
每一层的开销是(3/2)in(3/2)^in 层数为lgnlgn T(n)=Θ((3/2)lgnn)=Θ(nlg3)T(n)=\Theta((3/2)^{lgn}n)=\Theta(n^{lg3})猜测T(n)≤cnlg3猜测T(n)\leq cn^{lg3} T(n)≤3cn2lg3=cnlg3T(n)\leq 3c\frac n2^{lg3}=cn^{lg3} 所以T(n)=O(nlg3
2015-06-02 22:43:37 221
原创 4.1-6
我们令n=2m,则T(2m)=2T(2m/2)+1我们令n=2^m,则T(2^m)=2T(2^{m/2})+1 令S(m)=T(2m),则S(m)=2S(m/2)+1令S(m)=T(2^m),则S(m)=2S(m/2)+1 容易得证S(m)=Θ(m),则T(n)=Θ(lgn)容易得证S(m)=\Theta(m),则T(n)=\Theta(lgn)
2015-06-02 22:11:48 215
原创 4.1-5
我们假设T(n)≤cnlg(n−34)我们假设T(n)\leq cnlg(n-34) T(n)≤2c(n/2)lg(n/2+17−34)+n=cnlg(n−34)−cn+n,最后一步当c≥1T(n)\leq 2c(n/2)lg(n/2+17-34)+n=cnlg(n-34)-cn+n,最后一步当c\geq1 ∴T(n)=O(nlgn)\therefore T(n)=O(nlgn)
2015-06-02 21:54:57 243
原创 4.1-4
猜测T(n)≤cnlg(n−1)猜测T(n)\leq cnlg(n-1) T(n)≤c⌈n/2⌉lg((n−1)/2)+c⌊n/2⌋lg((n−1)/2)+kn=cnlg(n−1)−cn+kn≤cnlg(n−1),最后一步c≥k即可T(n)\leq c\lceil n/2 \rceil lg((n-1)/2)+c\lfloor n/2 \rfloor lg((n-1)/2)+kn=cnlg(n-1
2015-06-02 21:45:36 244
原创 4.1-3
我们假设T(n)≤cnlgn+n我们假设T(n)\leq cnlgn+n T(n)≤cnlg(n/2)+n/2+n=cnlgn+n+n/2−cn≤cnlgn+n,最后一步只要c≥1即可T(n)\leq cnlg(n/2)+n/2+n=cnlgn+n+n/2-cn\leq cnlgn+n,最后一步只要c\geq1即可 T(1)=1≤1lg1+1T(1)=1\leq1lg1+1
2015-06-02 20:46:42 209
原创 4.1-2
我们猜测T(n)≤cnlgn我们猜测T(n)\leq cnlgn T(n)≤2c(n/2)lg(n/2)+n=cnlgn+n−cn≤cnlgn,最后一步当c≤1成立T(n)\leq 2c(n/2)lg(n/2)+n=cnlgn+n-cn\leq cnlgn,最后一步当c\leq1成立 我们猜测T(n)≥c(n+1)lg(n+1)我们猜测T(n)\geq c(n+1)lg(n+1) T(n)≥2
2015-06-02 20:01:22 273
原创 4.1-1
我们猜测T(n)≤clg(n−1)我们猜测T(n)\leq clg(n-1) T(n)≤clg((n+1)/2−1)+1=clg(n−1)−c+1≤clg(n−1),最后一步当c≥1成立T(n)\leq clg((n+1)/2-1)+1 = clg(n-1)-c+1\leq clg(n-1), 最后一步当c\geq1成立 ∴T(n)=O(lgn)\therefore T(n)=O(lgn)
2015-06-02 19:37:29 262
原创 3-6
f(n)f(n) c f∗c(n)f^*_c(n) n−1n-1 0 Θ(n)\Theta(n) lgn\lg n 1 Θ(lg∗n)\Theta(lg^*n) n/2n/2 1 Θ(lgn)\Theta(lgn) n/2n/2 2 Θ(lgn)\Theta(lgn) n‾‾√\sqrt n 2 Θ(lglgn)\Theta(lglg
2015-06-02 18:59:26 142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人