## Course Outline for CompSci 161 — Winter 2020

( * indicates topic to be discussed only if time allows,     week indications are approximate)

 Introduction [GT 1 and Appendix A;   CLRS 1-3, 6.1-6.3 and Append.A,B,C] 1 Course requirements Complexity and asymptotics [GT 1.1;   CLRS 3] Models of computation Examples of algorithm analysis Review HW #1 Searching, sorting, lower bounds [GT 5;   CLRS 6, 8] 2 Searching - sequential, binary, interpolation [GT 3.1] Insertion sorts - straight, binary Lower bounds on sorting - inversions, decisions [GT 8.3;   CLRS 8.1] * Time complexity analysis - expected worst case Review HW #2 * Avg case analysis for binary search of an ordered list 3 Heapsort [GT 5.3-5.4;   CLRS 6] Distribution sorts - bucket, lexicographic [GT 9.1;   CLRS 8.3] Review HW #3 * Shellsort 4 .........first exam Divide-and-conquer [GT 8, 9, 11;   CLRS 4, 7, 9] Selection of median [GT 9.2;   CLRS 9] DC paradigm - Weighted median [GT 9.3], MaxMin Integer multiplication [GT 11.2] 5 DC Theorem [GT 11.1;   CLRS 4.3] Time analysis of Mergesort, Heap Construction [GT 8.1;   CLRS 7] Strassen matrix multiplication [GT 11.3;   CLRS 4.2] Review HW #4 * Skyline problem Dynamic programming [GT 12;   CLRS 15] Product of matrices [GT 12.1;   CLRS 15.2] 6 Common subsequences [GT 12.5;   CLRS 15.4] Optimal binary search trees [CLRS 15.5] 7 Nim, Fibonacci numbers Review HW #5 .........second exam Graph algorithms [GT 13-15;   CLRS 22-25] 8 Minimum spanning trees - Prim, Kruskal, Boruvka [GT 15;   CLRS 23] Breadth-first search - components [GT 13.3;   CLRS 22.2] Depth-first search [GT 13.2, 13.5;   CLRS 22.3] DAGS - Topological Sorting [GT 14.3;   CLRS 24.1] 9 Review HW #6 Transitive closure (Warshall), all-pairs shortest paths [GT 13.4.2, 14.5;   CLRS 25.1-.2] Dijkstra and Bellman-Ford shortest path algorithms [GT 14.2-14.3;   CLRS 24.1-24.3] Review HW #7 Other topics 10 Pseudo-polynomial algorithms - 0/1 knapsack dynamic pgm'ng [GT 12.6] String matching - KMP algorithm [GT 23.3;   CLRS 32.1, 32.4] Sweep stack algorithms - rectangle in histogram, matrix, visible lines * Sweep list algorithms - LIS Review HW #8 11 .........final exam (cumulative)

You are responsible for having read GT 1-3, 5, 8-9, 11-15

### References

GT
Goodrich and Tamassia, Algorithm Design and Applications, John Wiley, 2014.
CLRS
Cormen, Leiserson, Rivest, and Stein Introduction to Algorithms (3rd ed.), MIT Press, 2009.