CMSC-641 Algorithms: Assignments (Fall 1995)
Read and follow the homework
guidelines.
Assignment 1 (due September 20):
Algorithm Design and Analysis
- Solve Problem 1 from the Fall 95 PhD comprehensive examination in algorithms,
which was passed out in class on September 11.
- Solve Problem 2 from the Fall 95 PhD comprehensive examination in algorithms.
Also, solve the resulting recurrence.
- a) When a researcher presents a new algorithm, what are her
responsibilities to her readers?
b) Solve Problem 16.3-6* (longest monotonically increasing subsequence).
Honor your responsibilities that you explained in part (a).
Assignment 2 (due October 4): Binomial and Fibonacci Heaps
- Problem 20-2
- Exercise 21.4-1
- Problem 21-1
Assignment 3 (due October 11):
Average-case, Probablistic, and Amortized Analyses
- Exercise 6.2-5
- Problem 6-2
- Problem 18-3
- (Optional) Design a probablistic
algorithm for ``unsorting any array.''
Precisely state and prove what effect your algorithm has on
any input array of n integers.
Assignment 4 (due October 18): Union/Find
- Problem 22-1
- Problem 22-3
- Exercise 22.3-4
Assignment 5 (due October 25): Matroids, Randomly-built trees
- Problem 17-2
- Problem 13-3
- Problem 16-5
No homework due November 1, the date of Exam I.
Assignment 6 (due November 15): Network Flow
- Exercise 27.2-10
- Exercise 27.3-4
- Problem 27-1
Assignment 7 (due November 20): Network Flow, Sorting Networks
- Exercise 27.5-4
- Problem 27-5
- Problem 28-3
Progress report due on project by 12noon, November 22.
See project description.
Assignment 8 (due November 29): NP-Completeness
- a) Briefly list and describe three major techniques for
proving problems NP-complete. For each technique, what are
important characteristics of a problem that suggest the technique
is well-suited for the problem?
b) Solve Problem 4 from the Fall 1995 Ph.D. Comprehensive Examination
in Algorithms (see handout from HW 1).
What technique seems most appropriate and why?
- Problem 36-2
- Problem 37-1
No homework due on December 6, the date of Exam II.