UMBC CMSC641, Design & Analysis of Algorithms, Spring 2004
Homework Assignments
- Exercise 16.2-5, page 384.
Note 1: You must prove your algorithm
is correct by showing that no other covering of {x1,
x2, ..., xn} has fewer intervals than
the covering produced by your algorithm.
Note 2: "Describe an algorithm" means that you should
give an English description of your algorithm. Do not
use pseudo-code (or real code). You should also state and
briefly justify the running time of your algorithm.
- Problem 15-1, page 364.
Hint: If p1 and p2 are the two
leftmost points in the set, then any bitonic tour must have
a segment from p1 to p2. This is a useful
observation when you set up your recursive optimization function.
- Problem 15-7, page 369.
Note: It is tempting to take a greedy approach to this
problem similar to the greedy algorithm for Unit Job Scheduling.
However, you must use dynamic programming for this problem.
Hint: Concentrate on finding a schedule for those jobs
that will be processed before their deadlines (the early jobs).
Argue that the schedule for the early jobs can always be in order of
increasing deadlines.
- Exercise 17.2-3, page 412.
- Exercise 17.3-7, page 416.
- Problem 17-3, page 427.
- Exercise 3.2-7, page 57.
Note: You may assume the result of Exercise 3.2-6.
- Exercise 19.1-3, page 461.
- Exercise 20.4-2, page 496.
Note: You must justify your answer, of course.
- Exercise 21.2-3, page 505.
Note: The question is asking you to use the accounting
method or the potential method to prove an amortized running
time of O(1) for MakeSet and FindSet and O(log n) for Union.
Note 2: The temptation is to make MakeSet O(log n) and
Union O(1), but that is not correct.
- Exercise 21.3-4, page 509.
- Problem 21-1, page 518.
- Exercise 26.1-9, page 650.
- Exercise 26.2-4, page 663.
- Exercise 26.2-8, page 664.
- Problem 26-2, page 692.
- Problem 26-5, page 694.
- Exercise 34.2-3, page 983.
Each of the following questions asks you to show that a set is NP-complete.
For this assignment you must do the following explicitly:
- Describe a reduction function f() from a known NP-complete
set A to the new set B.
- Argue that f() is polynomial-time computable.
- Argue that for all x, x in A implies
f(x) in B.
- Argue that for all x, f(x) in B implies
x in A.
Arguments that the set is related to, similar to, a special case of, a
generalization of, ... an NP-complete problem is not acceptable.
- Exercise 34.5-2, page 1017.
- Exercsie 34.5-5, page 1017.
- Problem 34-3, page 1019.
- Exercise 35.2-2, page 1032.
Note: Hint given in class. Email Prof. Chang if you need it repeated.
- Exercise 35.3-2, page 1038.
- Problem 35-1, page 1049.
- Problem 35-4, page 1051.
- Exercise 31.2-9, page 862.
- Exercise 31.3-3, page 868.
- Exercise 31.4-2, page 872.
- Exercise 31.8-1, page 896.
- Problem 31-3, parts c & d, page 902.
- Exercise 27.3-3, page 716.
- Exercise 27.3-4, page 716.
- Problem 27-2, page 721.
These questions are from the first edition of the textbook:
- Exercise 30.1-1, page 700 of the first edition.
- Exercise 30.1-3, page 700 of the first edition.
- Problem 30-3, page 727 of the first edition.
- Problem 15-6, page 368.
- Ex 17.3-3, page 416.
- Problem 26-4, page 694.
- Exercise 34.5-8, page 1018.
Last Modified:
5 May 2004 14:22:34 EDT
by
Richard Chang
to Spring 2004 CMSC 641 Homepage