4005-800: Midterm
The midterm will take place on Wednesday, January 25th, during class time (4:00-5:50am for section 01 and
6:00-7:50pm for section 70).
More info:
-
The midterm will cover material from the first 5 weeks. The specific topics are:
- Asymptotic notation
- Recurrences and divide-and-conquer algorithms (MergeSort)
- Other sorts and searching (HeapSort, RadixSort, Select)
- Greedy algorithms (divisible Knapsack, two variants of the Interval Scheduling problem, Huffman)
- Dynamic programming (Knapsack, Longest Increasing Subsequence, Weighted Interval Scheduling, Longest Common Subsequence,
Chain Matrix Multiplication)
There will be roughly one problem from each of these topics. I could also ask questions related to
the three geometric algorithms (point inside a polygon, area of a polygon, convex hull) but I will not devote an entire
to question to them. There will definitely be a problem on asymptotic notation
and another problem on dynamic programming.
-
The midterm consists of 5 problems, each worth 10 points. I will drop the lowest-scored problem and the remaining four problems
contribute to the overall score.
-
The midterm is closed book, notes, laptops, cell-phones, etc. However, you might bring one letter-sized "cheat-sheet"
in your own handwriting (no printouts or photocopies).
-
Here is an old midterm for you to practice on. The practice midterm does not indicate the
difficulty of the actual midterm (actually, it is a little on the easy side, the real midterm will be probably somewhat more
difficult - but not too much). Here are the solutions of the practice midterm.
I recommend you to solve
the practice midterm first and only after you are done, check the solutions.