All material discussed in the lectures up to and including Heapsort or discussed in the two exercise sheets is relevant (Quicksort is not relevant for the in-class test, I also exclude the peak finding problem).
I created a mock in-class test: mock in-class test.
This mock paper is slightly harder than the actual in-class test. The purpose of this mock test is to give you an idea about the difficulty level of the in-class test.
| Week | Day | Date | Topics | Slides |
|---|---|---|---|---|
| 13 | Mon | 28-Jan | Lecture 1: Introduction, peak finding | |
| Tue | 29-Jan | Lecture 2: O-notation | ||
| Remarks: Throughout this course, log(n) denotes the binary logarithm, i.e., log(n) = log2(n). In the slides used in the lecture the derivative of log(n) was wrongly computed with 1/n, while it should of course be 1/(n ln(2)), with ln(n) being the logarithm to base e. I corrected this in the slides. | ||||
| 14 | Mon | 04-Feb | Lecture 3: Theta, Omega, RAM Model | |
| Tue | 05-Feb | Lecture 4: Linear and binary search, proofs by induction | ||
| Tue | 05-Feb | Exercise class 1 | Worksheet 1 | |
| Remarks: Exercises on O-notation, Omega, and Theta can all be solved by finding constants c,n0 such that the definition of Big-O (resp. Theta, Omega) is fulfilled. Recall that any constants that fulfill the respective definition are fine, i.e., you do not need to find the smallest ones. Solutions will be provided soon. | Sol. - long Sol. - short | |||
| 15 | Mon | 11-Feb | Lecture 5: Loop invariants, insertion sort | |
| Tue | 12-Feb | Lecture 6: Sorting problem, first part of merge sort algorithm | ||
| 16 | Mon | 18-Feb | Lecture 7: Second part of merge sort, maximum subarray problem (slides of lectures 6 and 7 are combined) | |
| Tue | 19-Feb | Lecture 8: Trees, first part of heap-sort | ||
| Tue | 19-Feb | Exercise class 2 | Worksheet 2 | |
| Solution | ||||
| 17 | Mon | 25-Feb | Lecture 9: Second part of heap-sort (slides of lectures 8 and 9 are combined) | |
| Tue | 26-Feb | Lecture 10: Quicksort | ||
| 18 | ||||
| 19 | Mon | 11-Mar | Lecture 11: Runtime of Quicksort | |
| Tue | 12-Mar | Lecture 12: Sorting LB, Countingsort, Radixsort | ||
| Tue | 12-Mar | In-class Test | In-class Test | |
| Solution | ||||
| 20 | Mon | 18-Mar | Lecture 13: Recurrences (substitution method, recursion-tree method) | |
| Tue | 19-Mar | Lecture 14: Recurrences continued (slides of lectures 13 and 14 are combined) | ||
| 21 | Mon | 25-Mar | Lecture 15: Fibonacci Numbers | |
| Tue | 26-Mar | Lecture 16: Dynamic Programming - Pole Cutting | ||
| Tue | 26-Mar | Exercise class 3 | Worksheet 3 | |
| Solution | ||||
| 22 | Mon | 01-Apr | Lecture 17: Dynamic Programming - Matrix Chain Parenthesization | |
| Tue | 02-Apr | Lecture 18: Elements of Dynamic Programming 1 | ||
| 23 | Mon | 29-Apr | Lecture 19: Elements of Dynamic Programming 2 | |
| Tue | 30-Apr | Lecture 20: Peak Finding in 2D | ||
| Tue | 30-Apr | Exercise class 4 | Worksheet 4 | |
| 24 | Mon | 06-May | ||
| Tue | 07-May | Lecture 21: Preparing for the Exam |