Algorithm Design and Analysis
by Dan Gusfield
December 3, 2010 7:00 pm
The purpose of this undergraduate course is to introduce fundamental techniques and viewpoints for the design and the analysis of efficient computer algorithms, and to study important specific algorithms. The course relies heavily on mathematics and mathematical thinking in two ways: first as a way of proving properties about particular algorithms such as termination, and correctness; and second, as a way of establishing bounds on the worst case (or average case) use of some resource, usually time, by a specific algorithm. The course covers some randomized algorithms as well as deterministic algorithms.
Recent Episodes
Introduction to the videos
14 years agoIntroduction to the course and algorithm complexity
14 years agoBig-Oh, Omega and Theta notation
14 years agoTime analysis of Mergesort
14 years agoA more complex recurrence relation and counting inversions
14 years agoCounting inversions; Fast integer multiplication
14 years agoFast integer multiplication, randomized selection and median finding
14 years agoMore on randomized selection and median finding
14 years agoExpected number of comparisons in randomized select
14 years agoGreedy algorithms: Picking largest set of non-overlapping intervals
14 years ago