您的位置:首页 > 其它

《算法导论》笔记(3) 有关概率论

2015-02-03 15:09 169 查看
短篇,关于第5章。概率论的一些习题。

5.1-2,Random(0,1)只返回0和1,这里有个坑是二项式分布的问题,直接求和不可取。为得到random(a,b),应该将random(0,1)重复N次后,按顺序放入一个N位2进制数字中,对(b-a+1)取模,即得random(a,b)。复杂性为theta(n)。

function random(a,b){
for i= 1 to N
random += random(0,1)<<1
return random %(b-a+1)
}


5.1-3,因为random(0,1)时输出1概率为p,输出0概率为1-p,那么第一次为1,第二次为0,概率为1/4。也就是说第一次与第二次相异的概率为1/2。

function real_random(){
return (random(0,1) xor random(0,1))
}


5.3-5 n个元素有random(1,n^3)的优先级,所有元素都唯一的概率是[(n^3)!]/[(n^3-n)!*(n^3)^n],展开可以得到[(n^3)!]/[(n^3-n)!*(n^3)^n]>1-1/n。

5.4-4 P1=P(k,n)/k^n是所有人不同的概率,P2=k*(k-1)*P(k-1,n)/k^n是只有2个人相同的概率。P3=1-P1-P2是至少3个人相同的概率。注:公式P(i,j)是j个中取i个元素的全排列。

5.4-5 按照直觉是n/ln(n),根据例题逆推的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: