Summary: CSCE750: Topics for Midterm
1. Asymptotic notation: O(), (), (), o(), (); summation and product techniques.
2. Principles of algorithms design, running time analysis, and correctness proving.
3. Sorting problem and generic sorting algorithms: Insertion sort, MergeSort, HeapSort, Quick-
Sort; their features and running time analysis.
4. Desing principles and analysis of Divide-and-Conquer algorithms. Fast integer multiplication
and Strassen's matrix multiplication.
5. Techniques of solving and finding asymptotics of solutions to recurrences. Substitution, Tree,
and Master methods.
6. Design principles and average-case analysis of randomized algorithms. Probabilistic analysis
7. Implementation details and properties of binary heaps. Priority queues.
8. Quicksort vs. Randomized Quicksort. Their similarities and dissimilarities. Performance
9. Design principles and analysis of algorithms for sorting linear time. Counting sort, Radix
sort, Buck sort. Stability of sorting algorithms.
10. Medians, Order Statistics, and Selection Problem. Randomized and Deterministic selection
in linear time.