UMBC CMSC441H, Design & Analysis of Algorithms, Spring 2005, Honors Section
Homework Assignments
Note: the page numbers refer to the numbering in the preprint version of
the textbook.
- Chapter 1, Exercise 1 (page 22).
- Chapter 1, Exercise 6 (page 25).
- Chapter 1, Exercise 8 (page 27).
- Chapter 2, Exercise #3 (page 64).
- Chapter 3, Exercise #4 (page 102).
- Chapter 3, Exercise #8 (page 103).
- Chapter 3, Exercise #9 (page 104).
- Chapter 3, Exercise #12 (page 106).
- Chapter 4, Exercise #5 (page 180).
Prove that your algorithm is correct.
- Chapter 4, #3 (page 179-180).
- Chapter 4, #4 (page 180).
Note: Briefly argue that your algorithm
is correct and justify the running time of your algorithm.
- Chapter 4, #16 (page 186-187).
Note: Prove that your algorithm provides
the optimum solution. State and briefly justify the
running time of your algorithm.
Whenever you "give" an algorithm:
- Describe your algorithm at a high level using English
sentences.
- Avoid code and pseudo-code (definitely not a substitute
for descriptions in English).
- Justify that your algorithm actually does what is intended.
- State and justify the running time.
- Chapter 4, #2 (page 179).
- Chapter 4, #17 (page 187).
- Chapter 4, #20 (page 189).
Also available in PDF: hw6.pdf.
-
Solve each of the following recurrence relations using either
iteration (expand until you see a pattern) or substitution (guess and
prove by induction). Show all work. Finally, check your answer using
the Master Theorem, if it is applicable.
- T(n) = T(n/4) + n2
- T(n) = T(sqrt(n)) + 5
- T(n) = 4 T(n/3) + n log n
- Chapter 5, #2 (page 232).
- Chapter 5, #3 (page 233).
- Chapter 6, #4 (page 297).
- Chapter 6, #6 (page 299-300).
- Chapter 6, #16 (page 308-309).
- Chapter 6, #23, page 313.
- Chapter 7, #11, page 395.
Note: The parenthetical remark
... (regardless of how it chooses its forward-edge
paths).
in the statement of the claim is critical in the
interpretation of this question.
- Chapter 7, #14, page 396.
- Chapter 7, #9 (page 394).
- Chapter 7, #17 (page 398).
- Chapter 7, #19 (page 400-402).
- Chapter 6, #8 (page 301-302).
- Chapter 7, #16 (page 397-398).
- Chapter 8, #5 (page 479).
Hint: reduce from 3SAT.
- Chapter 8, #7 (page 480).
- Chapter 8, #8 (page 480-481).
- Chapter 8, #9 (page 481).
Note: for this chapter, the questions numbers in the preprint do not
correspond to the question numbers in the published textbook!!!
- Chapter 11, #1 (pages 614).
Hint: if a and b are integers and a < 2b, then a + 1 ≤
2b.
- Chapter 11, #5 (pages 616-617).
Hint: you must redefine the load on a machine to take into
account of
slow and fast machines. Also, the algorithm in Section 11.1 must
be modified
so the load between slow and fast machines are balanced.
- Chapter 11, #10 parts a & b (pages 619-620).
- Chapter 13, #1 (page 737).
- Chapter 13, #2 (page 737-738).
- Chapter 13, #3 (page 738-739).
Last Modified:
9 May 2005 11:58:11 EDT
by
Richard Chang
to Spring 2005 CMSC 441H Section Homepage