Wednesday, October 19, 2005
Monday, October 31, 2005
Required for Undergraduates: 5 of the following 6 problems
Required for Graduate Students: 5 of the following 6 problems
Points: 10 pts per problem
- Please review the
homework and grading policy
outlined in the course information page.
- On the first page of your solution write-up,
you must make explicit which problems are to be graded for
"regular credit", which problems are to be graded for "extra credit",
and which problems you did not attempt.
Please use a table something like the following
where "RC" is "regular credit", "EC" is "extra credit", and "NA"
is "not attempted" (not applicable). Failure
to do so will result in an arbitrary set of problems being graded
credit, no problems being graded for extra credit, and a five percent
- You must also write down with whom you worked on the assignment. If this
changes from problem to problem, then you should write down this
information separately with each problem.
- Start early, be concise but rigorous, and enjoy!
- Unless otherwise specified, all problems and exercises are from
CLRS, Introduction to
Algorithms, 2nd edition.
- Be sure to answer these questions carefully. For the dynamic programming problems, prove that there is optimal substructure, give the recurrence and the give
the dynami programming code. For the greedy algorithms, be sure to prove that ther
is optimal substructure and that the greedy choice property holds.
- Exercise 15.2-2. Implementing matrix multiplication.
- Problem 15-2. Printing neatly.
- Problem 15-6. Moving on a checkerboard.
- Exercise 16.2-4. Driving in a desert.
- Problem 16-1. Parts a and b. Coin changing.
- Problem 16-2. Scheduling. Be sure to give an explanation of how you implement your algorithm.