UMBC CMSC441, Design & Analysis of Algorithms, Fall 2006, Section 0101
Homework Assignments
- Problem 3-3, part a, page 58.
- Problem 3-4, parts b, g and h, page 59.
Note: In part h, the claim made in the statement "f(n) + o(f(n)) = Θ(f(n))"
is that for all g(n), such that g(n) = o(f(n)), f(n) + g(n) = Θ(f(n)).
- Problem A-1, part b, page 1069.
- Exercise 4.3-1, parts a-c, page 75.
- Problem 4-1, parts a-e, page 85.
Find asymptotic lower bounds only.
You must use either the recursion tree/iteration method or the substitution method. Show all work.
- Problem 4-4, parts a, c, e & h, page 86.
Find asymptotic upper bounds only.
You must use either the recursion tree/iteration method or the substitution method. Show all work.
- Exercise 6.5-7, page 142.
Note: Be careful what you assume!
- Problem 7-3, parts a, b & c, page 161.
Note: For part a, you are supposed to argue that Stooge Sort works correctly.
If we broke the array into 5 pieces, recursively sort the first three-fifths, recursively
sort the last three-fifths and recursively sort the first three-fifths again, we are not
guaranteed to have a sorted array at the end. (Why not?) Your argument that Stooge Sort
works correctly must not be applicable to this incorrect "three-fifths" sort.
- Problem 7-4, parts a, b & c, page 162.
- Problem 8-4, parts a, b & c, page 179.
- Exercise 9.3-5, page 192.
- Exercise 9.3-8, page 193.
- Exercise 9.3-9, page 193.
Note: you must prove that the answer given by
your algorithm is the correct answer.
- Exercise 11.2-3, page 229.
Note: report the running times in terms of
the load factor α.
- Problem 15-4, page 367.
- Exercise 15.3-5, page 350.
- Problem 15-1, page 364.
Note: The two parts of a bitonic tour are allowed to cross.
Hint: If you have an O(n3) algorithm, work on
eliminating one of the parameters.
- Problem 15-2, page 364.
Note: It is very important that the penalty for
extra spaces is cubic and not linear.
Note: You must provide a complete proof that
your greedy algorithm produces the best solution.
- Exercise 16.2-4, page 384.
- Exercise 16.2-5, page 384.
- Problem 16-1, parts a, c & d, page 402.
- Problem 16-2, part a, page 402.
- Exercise 22.1-6, page 530.
- Exercise 22.2-6, page 539.
Note: You must prove that your algorithm
produces the correct answer.
- Exercise 22.3-7, page 548.
- Exercise 22.4-5, page 552.
- Exercise 22.5-7, page 557.
- Problem 22-2, parts a-d, page 548.
Hint: In a DFS of an undirected graph, there are no cross edges. Why?
- Ex 23.1-2, page 566.
- Problem 23-4, parts a, b & c, page 578.
- Ex 23.2-1, page 573.
- Ex 23.2-5, page 574.
- Ex 24.3-6, page 600.
Note: You must explain why your algorithm works correctly.
The priority queue in Dijkstra's algorithm is keyed by path
length not edge weight.
- Ex 24.1-4, page 591.
Note: Argue that your algorithm works correctly.
State and briefly justify the running time of your algorithm.
- Ex 25.2-6, page 635.
- Ex 26.1-9, page 650.
- Problem 26-1, parts a & b, page 692.
Note: For part b, assume that you are using
the Edmonds-Karp algorithm for maximum flow.
- Problem 26-4, parts a & b, page 694.
Note: Do justify the running time of your algorithm.
- See handout: hw13.pdf.
Last Modified:
4 Dec 2006 16:50:01 EST
by
Richard Chang
to Fall 2006 CMSC 441 Section Homepage