0% found this document useful (0 votes)
65 views3 pages

CMSC 441: Homework #2 Solutions: Parag Namjoshi

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views3 pages

CMSC 441: Homework #2 Solutions: Parag Namjoshi

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

CMSC 441: Homework #2 Solutions

Monday, February 18, 2008

Parag Namjoshi

1
Exercise 4.1–1
Show that the solution of T (n) = T (⌈n/2⌉) + 1 is O(lg n)

Solution:
We guess that the solution is T (n) = O(lg n). We must prove that T (n) ≤ c lg n for appropriate c > 0. We
start by assuming that this bound holds for ⌈n/2⌉, that is that T (⌈n/2⌉) ≤ c lg(⌈n/2⌉). Substituting into
the recurrence yields

T (n) ≤ c lg(⌈n/2⌉) + 1
≤ c lg(n/2) + 1
= c lg n − c lg2 + 1
= c lg n − c + 1
= c lg n if c ≥ 1

the last step holds as long as c ≥ 1. For the base case, it suffices∗ to show that T (2) ≤ c lg 2 for some
c ≥ 1. T (2) = T (1) + 1 or T (2) = 2 assuming T (1) = 1. Thus T (2) ≤ c lg 2 if c ≥ 2.

Exercise 4.1–2
We saw that the solution of T (n) = 2T (⌊n/2⌋) + n is O(n lg n). Show that the solution of this recurrence is
also Ω(n lg n). Conclude that the solution is Θ(n lg n).

Solution:
We guess that the solution is T (n) = Ω(n lg n). We must prove that T (n) ≥ cn lg n for appropriate c > 0.
We start by assuming that this bound holds for ⌊n/2⌋, that is that T (⌊n/2⌋) ≥ c⌊n/2⌋lg(⌊n/2⌋). Substituting
into the recurrence yields

T (n) ≥ 2c⌊n/2⌋ lg(⌊n/2⌋) + n


≥ cn lg(n/2) + n
= cn lg n − cn lg2 + n
= c lg n − cn + n
= cn lg n if c ≤ 1

the last step holds as long as c ≥ 1. For the base case, we must show that T (2) ≤ c lg 2 and T (3) ≤ c lg 3†
for some c ≥ 1. T (2) = 2T (1) + 2 or T (2) = 4 assuming T (1) = 1. Similarly, T (3) = 2T (1) + 3 or
T (2) = 5.Thus T (2) ≥ c lg 2 and T (3) ≥ c lg 3 if c ≤ 1.

Exercise 4.1–6

Solve the recurrence T (n) = 2T ( n) + 1 by making a change of variables. Your solution should be asymp-
totically tight. Do not worry about whether values are integral.
∗ In this exercise, it is not necessary to show T (3) ≤ c lg 3. Why ?
† In this exercise, it is necessary to show T (3) ≤ c lg 3 as well. Why ?

Exercise 4.1–6 continued on next page. . . Page 2 of 3


Solution:
Let m = lg n, thus,
T (2m ) = 2T (2m/2 ) + 1,
We now rename S(m) = T (2m ) to produce new recurrence

S(m) = 2S(m/2) + 1.

From the arguments on similar lines to first exercise, S(m) = Θ(m). Changing back to T (n) and re–
substituting m = lg n, T (n) = Θ(lg n).

Page 3 of 3

You might also like