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 |