Course Outline for CompSci 161 — Winter 2019

( * 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, induction proofs
Complexity and asymptotics [GT 1.1;   CLRS 3]
Models of computation
Examples of algorithm analysis
 
Searching, sorting, lower bounds [GT 5;   CLRS 6, 8]
2 Searching - sequential, binary, interpolation [GT 3.1]
Insertion sorts - straight, binary, Shellsort
Lower bounds on sorting - inversions, travel, decision [GT 8.3;   CLRS 8.1]
3 Heapsort [GT 5.3-5.4;   CLRS 6]
Distribution sorts - bucket, lexicographic [GT 9.1;   CLRS 8.3]
*Review
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, Quicksort [GT 8.1-8.2;   CLRS 7]
Strassen matrix multiplication [GT 11.3;   CLRS 4.2]
*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
.........second exam
 
Graph algorithms [GT 13-15;   CLRS 22-25]
8 Minimum spanning trees - Prim, Kruskal, Boruvka, hybrid [GT 15;   CLRS 23]
Breadth-first search - components [GT 13.3;   CLRS 22.2]
Depth-first search - biconnectivity [GT 13.2, 13.5;   CLRS 22.3]
9 DAGS - Topological Sorting, Bellman-Ford shortest path algorithm [GT 14.3;   CLRS 24.1]
Single-source shortest path (Dijkstra) [GT 14.2;   CLRS 24.2-24.3]
Transitive closure (Warshall), all-pairs shortest paths [GT 13.4.2, 14.5;   CLRS 25.1-.2]
 
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]
*Probabilistic algorithms [CLRS 5.3, 31.8]
*Review
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.

Last modified: Apr 4, 2018