UMBC CMSC441, Design & Analysis of Algorithms, Fall 2006, Section 0101

Homework Assignments


Homework 1, Due Tuesday 09/12

  1. Problem 3-3, part a, page 58.

  2. 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)).

  3. Problem A-1, part b, page 1069.


Homework 2, Due Tuesday 09/19

  1. Exercise 4.3-1, parts a-c, page 75.

  2. 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.

  3. 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.


Homework 3, Due Tuesday 09/26

  1. Exercise 6.5-7, page 142.
    Note: Be careful what you assume!

  2. 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.

  3. Problem 7-4, parts a, b & c, page 162.


Homework 4, Due Tuesday 10/03

  1. Problem 8-4, parts a, b & c, page 179.

  2. Exercise 9.3-5, page 192.

  3. Exercise 9.3-8, page 193.


Homework 5, Due Tuesday 10/10

  1. Exercise 9.3-9, page 193.
    Note: you must prove that the answer given by your algorithm is the correct answer.

  2. Exercise 11.2-3, page 229.
    Note: report the running times in terms of the load factor α.

  3. Problem 15-4, page 367.


Homework 6, Due Tuesday 10/17

  1. Exercise 15.3-5, page 350.

  2. 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.

  3. Problem 15-2, page 364.
    Note: It is very important that the penalty for extra spaces is cubic and not linear.


Homework 7, Due Tuesday 10/24

Note: You must provide a complete proof that your greedy algorithm produces the best solution.

  1. Exercise 16.2-4, page 384.

  2. Exercise 16.2-5, page 384.

  3. Problem 16-1, parts a, c & d, page 402.


Homework 8, Due Tuesday 10/31

  1. Problem 16-2, part a, page 402.

  2. Exercise 22.1-6, page 530.

  3. Exercise 22.2-6, page 539.
    Note: You must prove that your algorithm produces the correct answer.


Homework 9, Due Tuesday 11/07

  1. Exercise 22.3-7, page 548.

  2. Exercise 22.4-5, page 552.

  3. Exercise 22.5-7, page 557.


Homework 10, Due Tuesday 11/14

  1. Problem 22-2, parts a-d, page 548.
    Hint: In a DFS of an undirected graph, there are no cross edges. Why?

  2. Ex 23.1-2, page 566.

  3. Problem 23-4, parts a, b & c, page 578.


Homework 11, Due Tuesday 11/21

  1. Ex 23.2-1, page 573.

  2. Ex 23.2-5, page 574.

  3. 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.


Homework 12, Due Tuesday 12/05

  1. Ex 24.1-4, page 591.
    Note: Argue that your algorithm works correctly. State and briefly justify the running time of your algorithm.

  2. Ex 25.2-6, page 635.

  3. Ex 26.1-9, page 650.


Homework 13, Due Tuesday 12/12

  1. Problem 26-1, parts a & b, page 692.
    Note: For part b, assume that you are using the Edmonds-Karp algorithm for maximum flow.

  2. Problem 26-4, parts a & b, page 694.
    Note: Do justify the running time of your algorithm.

  3. See handout: hw13.pdf.


Last Modified: 4 Dec 2006 16:50:01 EST by Richard Chang
to Fall 2006 CMSC 441 Section Homepage