Course Outline for CompSci 161 — Winter 2020

( 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]
Review HW #2
3 Heapsort [GT 5.3-5.4;   CLRS 6]
Distribution sorts - bucket, lexicographic [GT 9.1;   CLRS 8.3]
Review HW #3
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
 
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]
Probabilistic algorithms [CLRS 5.3, 31.8]
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.

Last modified: Apr 10, 2019