1 问题
证明程序PERMUTE-BY-SORTING的数组P中,所有元素都唯一的概率至少为1-1/n。
2 分析与解答
证明:
P{所有元素都唯一} = n3(n3 -1)(n3 -2)…(n3 - n+1) / (n3)n
= 1 * (n3 -1)/n3 * (n3 -2)/n3 …(n3 -n+1)/n3
= 1*(1- 1/n3 )(1- 2/n3 )…(1- (n-1)/n3 )
>= (1 - n/n3 )(1 - n/n3 )(1 - n/n3 )…(1 - n/n3 )
= (1 - 1/n2 )n
= ∑k=0 n Cn k (-1/n2 )n-k
= Cn n + Cn n-1 (-1/n2) + ∑k=0 n-2 Cn k (-1/n2 )n-k
= 1 - 1/n +∑k=0 n-2 Cn k (-1/n2 )n-k
当n为奇数时,∑k=0 n-2 Cn k (-1/n2 )n-k,k为奇数的项为正,并且显然k为奇数项的n的次数,大于k为偶数的项,表明随着n的增长,当n大于某数时,上式必定为正,由于上式是个增函数,又因为当n=3时,上式大于0,所以当n>3时,上式必定大于0。
当n为偶数时,∑k=0 n-2 Cn k (-1/n2 )n-k = 1 + ∑k=1 n-2Cn k (-1/n2 )n-k,同理∑k=1 n-2Cn k (-1/n2 )n-k用上面的分析方法也能得到一定为正的结论。
综上,∑k=0 n-2 Cn k (-1/n2 )n-k当n>=2时,大于0。
当n=1是,(1-1/n2 )n = 0 = (1-1/n),所以,P{所有元素都唯一} >= (1 - 1/n2 )n >= 1 - 1/n