a.
so, we have geometric series:
T ( n ) = n 2 + 5 n 2 / 16 + 25 n 2 / 256 + . . . = n 2 / ( 1 − 5 / 16 ) T(n)=n^2+5n^2/16+25n^2/256+...=n^2/(1-5/16) T ( n ) = n 2 + 5 n 2 /16 + 25 n 2 /256 + ... = n 2 / ( 1 − 5/16 )
T ( n ) = Θ ( n 2 ) T(n)=\Theta(n^2) T ( n ) = Θ ( n 2 )
c.
Comparing with T ( n ) = a T ( n / b ) + f ( n ) T(n)=aT(n/b)+f(n) T ( n ) = a T ( n / b ) + f ( n ) :
a = 3 , b = 4 a=3,b=4 a = 3 , b = 4
so, we have:
f ( n ) = Ω ( n l o g b a ) = Ω ( n l o g 4 3 ) f(n)=\Omega(n^{log_ba})=\Omega(n^{log_43}) f ( n ) = Ω ( n l o g b a ) = Ω ( n l o g 4 3 )
by Master Theorem:
T ( n ) = Θ ( f ( n ) ) = Θ ( n 2 ) T(n)=\Theta(f(n))=\Theta(n^2) T ( n ) = Θ ( f ( n )) = Θ ( n 2 )
b.
additive term is exactly the current subproblem size, so T(n) is simply the sum of all numbers that appear in this tree. the:
T ( n ) ≥ n l o g 5 n T(n)\ge nlog_5n T ( n ) ≥ n l o g 5 n and T ( n ) ≤ n l o g 5 / 2 n T(n)\le nlog_{5/2}n T ( n ) ≤ n l o g 5/2 n
so,
T ( n ) = Θ ( n l o g n ) T(n)=\Theta(nlogn) T ( n ) = Θ ( n l o g n )
g.
for recursion tree:
there are l o g ∗ ( n ) log^*(n) l o g ∗ ( n ) levels, and each subproblem at level i has one problem of size l o g ( i ) n log^{(i)}n l o g ( i ) n
where l o g ( i + 1 ) n = l o g ( l o g ( i ) n ) log^{(i+1)}n=log(log^{(i)}n) l o g ( i + 1 ) n = l o g ( l o g ( i ) n ) and l o g ( i ) n = l o g n log^{(i)}n=logn l o g ( i ) n = l o g n
So, the upper bound we have:
T ( n ) = l o g n + T ( l o g n ) = O ( ∑ i = 0 l o g ∗ ( n ) l o g ( i + 1 ) n ) = O ( l o g n ) T(n)=logn+T(logn)=O(\displaystyle \sum^{log^*(n)}_{i=0}log^{(i+1)}n)=O(logn) T ( n ) = l o g n + T ( l o g n ) = O ( i = 0 ∑ l o g ∗ ( n ) l o g ( i + 1 ) n ) = O ( l o g n )
This is true because l o g n < 1 / 2 logn<1/2 l o g n < 1/2 for large n, and l o g ( i + 1 ) n < 1 2 i l o g n log^{(i+1)}n<\frac{1}{2^i}logn l o g ( i + 1 ) n < 2 i 1 l o g n and use geometric series.
Also, T ( n ) = Ω ( l o g n ) T(n)=\Omega (logn) T ( n ) = Ω ( l o g n )
so,
T ( n ) = Θ ( l o g n ) T(n)=\Theta(logn) T ( n ) = Θ ( l o g n )
j.
Comparing with T ( n ) = a T ( n / b ) + f ( n ) T(n)=aT(n/b)+f(n) T ( n ) = a T ( n / b ) + f ( n ) :
a = 1 , b = 4 / 3 a=1,b=4/3 a = 1 , b = 4/3
f ( n ) = 1 / n f(n)=1/\sqrt n f ( n ) = 1/ n
so, we have:
l o g b a = l o g 4 / 3 1 = 0 log_ba=log_{4/3}1=0 l o g b a = l o g 4/3 1 = 0
n l o g b a = n l o g 4 / 3 1 = 1 n^{log_ba}=n^{log_{4/3}1}=1 n l o g b a = n l o g 4/3 1 = 1
f ( n ) = O ( n l o g b a ) = O ( n l o g 4 / 3 1 ) = O ( 1 ) f(n)=O(n^{log_ba})=O(n^{log_{4/3}1})=O(1) f ( n ) = O ( n l o g b a ) = O ( n l o g 4/3 1 ) = O ( 1 )
then, by Master Theorem:
T ( n ) = Θ ( n l o g 4 / 3 1 ) = Θ ( 1 ) T(n)=\Theta(n^{log_{4/3}1})=\Theta(1) T ( n ) = Θ ( n l o g 4/3 1 ) = Θ ( 1 )
h.
𝑇 ( 𝑛 ) = 𝑇 ( 𝑛 1 / 4 ) + 1 = 𝑇 ( 𝑛 1 / 16 ) + 2 = 𝑇 ( 𝑛 1 / 64 ) + 3 = 𝑇 ( 𝑛 1 / 4 n ) + n 𝑇(𝑛) = 𝑇 (𝑛^{ 1/ 4}) + 1=𝑇 (𝑛^{ 1/ 16}) + 2=𝑇 (𝑛^{ 1/ 64}) + 3=𝑇 (𝑛^{ 1/ 4^n}) + n T ( n ) = T ( n 1/4 ) + 1 = T ( n 1/16 ) + 2 = T ( n 1/64 ) + 3 = T ( n 1/ 4 n ) + n
T ( n ) = O ( n ) T(n)=O(n) T ( n ) = O ( n )
i.
𝑇 ( 𝑛 ) = 𝑛 + 7 𝑇 ( 𝑛 ) n = 7 n ( 7 T ( n 1 / 4 ) n 1 / 4 + n 1 / 2 ) + n = 𝑇(𝑛) = 𝑛 + 7 𝑇(\sqrt𝑛)\sqrt n=7\sqrt n(7T(n^{1/4})n^{1/4}+n^{1/2})+n= T ( n ) = n + 7 T ( n ) n = 7 n ( 7 T ( n 1/4 ) n 1/4 + n 1/2 ) + n =
= 7 k n 1 / 2 + 1 / 4 + 1 / 8 + . . . + 1 / 2 k T ( n 1 / 2 k ) + . . . + n =7^kn^{1/2+1/4+1/8+...+1/2^k}T(n^{1/2^k})+...+n = 7 k n 1/2 + 1/4 + 1/8 + ... + 1/ 2 k T ( n 1/ 2 k ) + ... + n
1 / 2 + 1 / 4 + 1 / 8 + . . . + 1 / 2 k = 1 − 1 / 2 k 1/2+1/4+1/8+...+1/2^k=1-1/2^k 1/2 + 1/4 + 1/8 + ... + 1/ 2 k = 1 − 1/ 2 k
let n 1 / 2 k = 2 n^{1/2^k}=2 n 1/ 2 k = 2 , then:
𝑇 ( 𝑛 ) = 7 n T ( 2 ) n / 2 + . . . + n 𝑇(𝑛)=7^nT(2)n/2+...+n T ( n ) = 7 n T ( 2 ) n /2 + ... + n
𝑇 ( 𝑛 ) = O ( 7 n n ) 𝑇(𝑛)=O(7^nn) T ( n ) = O ( 7 n n )
f.
𝑇 ( 𝑛 ) = ( 𝑛 / ( 𝑛 − 5 ) ) 𝑇 ( 𝑛 − 1 ) + 1 𝑇(𝑛) = (𝑛/(𝑛−5)) 𝑇(𝑛 − 1) + 1 T ( n ) = ( n / ( n − 5 )) T ( n − 1 ) + 1
T ( n ) = ( n n − 5 ) n − 1 T ( 1 ) + ( n n − 5 ) n − 2 + . . . + 1 T(n)=(\frac{n}{n-5})^{n-1}T(1)+(\frac{n}{n-5})^{n-2}+...+1 T ( n ) = ( n − 5 n ) n − 1 T ( 1 ) + ( n − 5 n ) n − 2 + ... + 1
T ( n ) = O ( 1 ) T(n)=O(1) T ( n ) = O ( 1 )
Comments