Data Structures, Algorithms, & Applications in C++
Chapter 18, Exercise 41
- (a)
-
-
a = 10, b = 3,
and g(n) = 11n.
-
logba = log310 > 2 and
h(n) = 11n/nlog310 =
O(nr) where r < 0.
Therefore, f(n) = O(1).
-
t(n) = nlog310[t(1) + O(1)]
= Theta(nlog310)
- (c)
-
-
a = 27, b = 3,
and g(n) = 11n3.
-
logba = log327 = 3 and
h(n) = 11n3/n3 =
11 = Theta((log n)0).
Therefore, f(n) = Theta(log n).
-
t(n) = n3[t(1) + Theta(log n)]
= Theta(n3log n)
- (e)
-
-
a = 9, b = 2,
and g(n) = n22n.
-
logba = log29 < 4 and
h(n) = n22n/nlog29
=
Omega(nr) for some r > 0.
Therefore, f(n) = Theta(
n22n/nlog29).
-
t(n) = nlog29[t(1) + Theta(
n22n/nlog29)]
= Theta(n22n)
- (g)
-
-
a = 128, b = 2,
and g(n) = 6n.
-
logba = log2128 = 7 and
h(n) = 6n/n7 =
6n-6.
Therefore, f(n) = O(1).
-
t(n) = n7[t(1) + O(1)]
= Theta(n7)
- (i)
-
-
a = 128, b = 2,
and g(n) = 2n/n.
-
logba = log2128 = 7 and
h(n) = 2n/n/n7 =
Omega(nr) for some r > 0.
Therefore, f(n) = Theta(2n/n8).
-
t(n) = n7[t(1) + Theta(2n/n8)]
= Theta(2n/n)