Document Version: 1.0, 9/15/2021
The quizzes will first be given on paper and in-class on 9/21/2021. You can try one, two or three of the quizzes in the class that day. On the 2nd quiz day, 10/7/2021, you can re-take any or all of these. You can also re-take any or all of these during the final exam period.
The quizzes will be closed-book, closed-notes, etc. Getting information from any electronic devices is not allowed while taking a quiz. You will sign a pledge on each quiz paper.
It is an honor violation to communicate information about the quiz to anyone who might not have yet taken it.
Basic Terms and concepts: algorithm, basic operation, brute-force, Worst-case, average-case, best-case
Asymptotic growth rate; order classes; BigTheta and all the others
Lower bounds, optimal algorithms
Insertion sort: worst-case complexity; what are its advantages
The divide and conquer design strategy (D&C) -Writing simple recursive divide and conquer algorithms
Mergesort: its D&C strategy and recurrences
Quicksort:
Stablity and space complexities of sorts: insertion sort, quicksort, mergesort
Decision trees and lower-bound arguments for comparison sorting.
About the HW for this module: make sure you understand the timing results you saw for the various experiments
Writing recurrence relations for D&C algorithms
Reducing recurrences to closed form using the direct (“unrolling”) method, substituion (including simple induction proofs)
Using the Master theorem
About the HW for this module: there may possibly be similar problems to what was on the HW for this module
Closest-pair of points problem, including strategy, time-complexity, topics related to “the strip”
Strassens’ matrix multiplication. Just know the general ideas that make this algorithms interesting, including the recurrences. (No details on implementation.)
Know how Quickselect can find order statistics, and its basic time-complexity
Understand the need for a good pivot, and that median of medians finds a good enough pivot to make Quickselect linear.
About the HW for this module: we will not ask about implementation details, but there may be questions about handling points in “the strip” and logic or time-complexity issues about that part of the algorithm