6.046J | Spring 2015 | Undergraduate

Design and Analysis of Algorithms


Problem Sets

Ten problem sets will be assigned during the semester.

Problem sets should be submitted in PDF format. Formatting your problem set in LaTeX will make it easier for us to read; however, any method of generating the PDF is acceptable (including scanning handwritten documents), as long as it is clearly legible.

The problem sets include exercises that should be solved but not handed in. These questions are intended to help you master the course material and will be useful in solving the assigned problems. Material covered in exercises will be tested on exams.

Guide to Writing Up Homework

You should be as clear and precise as possible in your write-up of solutions. Understandability of your answer is as desirable as correctness, because communication of technical material is an important skill.

A simple, direct analysis is worth more points than a convoluted one, both because it is simpler and less prone to error and because it is easier to read and understand. Sloppy answers will receive fewer points, even if they are correct, so make sure that your handwriting and your thoughts are legible. If writing your problem set by hand, it is a good idea to copy over your solutions to hand in, which will make your work neater and give you a chance to do sanity checks and correct bugs. If typesetting, reviewing the problem set while typing it in often has this effect. In either case, going over your solution at least once before submitting it is strongly recommended.

You will often be called upon to “give an algorithm” to solve a certain problem. Your write-up should take the form of a short essay. A topic paragraph should summarize the problem you are solving and what your results are. The body of your essay should provide the following:

  1. A description of the algorithm in English and, if helpful, pseudocode.
  2. At least one worked example or diagram to show more precisely how your algorithm works.
  3. A proof (or indication) of the correctness of the algorithm.
  4. An analysis of the running time of the algorithm.

Remember, your goal is to communicate. Graders will be instructed to take off points for convoluted and obtuse descriptions.

The problem sets include both textbook exercises and problems from the course textbook:
Buy at MIT Press Cormen, Thomas, Charles Leiserson, et al. Introduction to Algorithms. 3rd ed. MIT Press, 2009. ISBN: 9780262033848. [Preview with Google Books]

Problem Set 1 (PDF) Solutions to Problem Set 1 (PDF)
Problem Set 2 (PDF) Solutions to Problem Set 2 (PDF)
Problem Set 3 (PDF) Solutions to Problem Set 3 (PDF)
Problem Set 4 (PDF) Solutions to Problem Set 4 (PDF)
Problem Set 5 (PDF) Solutions to Problem Set 5 (PDF)
Problem Set 6 (PDF) Solutions to Problem Set 6 (PDF)
Problem Set 7 (PDF) Solutions to Problem Set 7 (PDF)
Problem Set 8 (PDF) Solutions to Problem Set 8 (PDF)
Problem Set 9 (PDF) Solutions to Problem Set 9 (PDF)
Problem Set 10 (PDF) Solutions to Problem Set 10 (PDF)

LaTeX Template for Problem Sets (ZIP) (This file contains: 1 .cls file, 2 .sty files, 1 .pdf file and 1 .tex file.)

Learning Resource Types
Lecture Videos
Recitation Videos
Problem Sets with Solutions
Exams with Solutions
Lecture Notes
Instructor Insights