Design and Analysis of Algorithms II
A second course in algorithm design and analysis, picking up where COMP 3804 leaves off. We work through advanced recurrence relations, algebraic complexity, advanced graph algorithms, amortized analysis, algorithms for NP-complete problems and randomized algorithms, drawing examples from randomized, graph and geometric algorithms, data structures and approximation algorithms. The emphasis throughout is on proving correctness and analysing complexity rigorously, and on writing a complete algorithmic argument in precise mathematical notation.
Undergraduate section COMP 4804, cross-listed as graduate section COMP 5703. The full outline, readings, notes, assignments and office hours are on Brightspace.