Algorithm Design and Analysis

Algorithm Design and Analysis

by

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 ago
  • Introduction to the course and algorithm complexity

    14 years ago
  • Big-Oh, Omega and Theta notation

    14 years ago
  • Time analysis of Mergesort

    14 years ago
  • A more complex recurrence relation and counting inversions

    14 years ago
  • Counting inversions; Fast integer multiplication

    14 years ago
  • Fast integer multiplication, randomized selection and median finding

    14 years ago
  • More on randomized selection and median finding

    14 years ago
  • Expected number of comparisons in randomized select

    14 years ago
  • Greedy algorithms: Picking largest set of non-overlapping intervals

    14 years ago