算法导论习题Exercise 3.2

3.2-3

把Stirling公式两边取对数lgn,得到lg(n!)=1/2*lg(2πn)+nlgn(n/3)+lg(n+c)-lgn        

=nlgn-(1/2)lgn-(lge)n+lg(n+c)+(1/2)lg(2π)

  考虑后四项之和

-(1/2)lgn-(lge)n+lg(n+c)+(1/2)lg(2π),其增速都小于nlgn的,所以我们总可以找到合适的c值使等式的右边大于nlgn,小于nlgn,

  即

lg(n!)=Θ(nlgn).

3.2-5

     小于

3.2-6

用数学归纳法证明:

     易证,F1 =(φ1-φ^1)/ sqrt(5)

假定,Fi =φi+φ^i

此时只需要证明Fi+1 =(φi+1+φ^i+1 )/sqrt(5)

由于Fi+1 = Fi + Fi-1

所以Fi+1 =(φi-φ^i)/ sqrt(5)+(φi-1-φ^i-1)/ sqrt(5)

       =(φi-φ^i)/ sqrt(5)+(φi/(1+ sqrt(5)/2)- φ^i/((1- sqrt(5))/2) )/sqrt(5)

      =((sqrt(5)+1)φi+(sqrt(5)-1)φi)/2sqrt(5)

      =(φi+1-φ^i+1)/sqrt(5)

你可能感兴趣的:(算法导论)