1. 程式人生 > >演算法導論 思考題 4-3

演算法導論 思考題 4-3

a. 利用主方法可得,T(n)=θ(n的log34次方)

b. n/f(n)=lgn,不能應用主方法

    共log3n+1層,每層代價n/lgn/(3的i次方),最後一層共n個θ(1)的結點,代價為θ(n)

    T(n)=∑n/lgn/(3的i次方)+θ(n)

           <∑n/lgn+θ(n)

           =n*log32+θ(n)

           =O(n)

    又因為T(n)最後一層代價為θ(n),所以T(n)=Ω(n)

    綜上,T(n)=θ(n)

c. 利用主方法可得,T(n)=θ(n 5/2)

d. 利用主方法可得,T(n)=θ(n)

e. n/f(n)=lgn,不能應用主方法

    共lgn+1層,每層代價n/lgn/(2的i次方),最後一層共n個θ(1)的結點,代價為θ(n)

    T(n)=∑n/lgn/(2的i次方)+θ(n)

            <∑n/lgn+θ(n)

            =O(n)

    又因為T(n)最後一層代價為θ(n),所以T(n)=Ω(n)

    綜上,T(n)=θ(n)

f. 遞迴樹分為最長路徑lgn+1和最短路徑1/3*lgn+1

  根據最長路徑,T(n)=O(n)

  又因為T(n)>=n,所以T(n)=θ(n)

g. 遞迴樹共n層,每層代價1/(n-i)

    T(n)=∑1/(n-i)=lnn+c=θ(lgn)

h. T(n)=∑lg(n-i)=lg(n!)=θ(nlgn)

i.  T(n)=∑1/lg(n-i)  根據積分法,T(n)=θ(n/lgn)

j.  遞迴樹共lglgn層,每層代價n,則T(n)=θ(nlglgn)