30 episodes

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.

Algorithm Design and Analysis Dan Gusfield

    • Technology

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.

    • video
    Coping with NP-completeness

    Coping with NP-completeness

    Lecture 28: Gusfield recaps NP-completeness.
    The professor discusses coping with NP-complete problems: approximation algorithms and lowering the exponent of exponential-time algorithms.

    • 39 min
    • video
    Major theorems of NP-completeness

    Major theorems of NP-completeness

    Lecture 27 covers the major theorems of NP-completeness, P = NP question, and how to prove a new problem in NP-complete.

    • 50 min
    • video
    Formal definition of P and NP

    Formal definition of P and NP

    In Lecture 26, Gusfield gives correct, formal definitions of P and NP, ending with a brief definition of NP-complete problems (languages).

    • 45 min
    • video
    An intuitive view of NP

    An intuitive view of NP

    Lecture 25 deals with an intuitive view of NP - not the correct formal definition.

    • 48 min
    • video
    Introduction to P and NP

    Introduction to P and NP

    Lecture 24 gives an introduction to P and NP and polynomial-time reductions.

    • 50 min
    • video
    Introduction to approximation algorithms

    Introduction to approximation algorithms

    Lecture 23 covers approximation algorithms - definition, factor of two approximation for the center cover problem.

    • 47 min

Top Podcasts In Technology

Lex Fridman Podcast
Lex Fridman
Acquired
Ben Gilbert and David Rosenthal
All-In with Chamath, Jason, Sacks & Friedberg
All-In Podcast, LLC
Reply All
Gimlet
Hard Fork
The New York Times
Lenny's Podcast: Product | Growth | Career
Lenny Rachitsky

More by UC Davis

Overcoming Public Speaking Anxiety
Margaret Swisher and Barbara Myslik
Fundamental Algorithms in Bioinformatics
Dan Gusfield
Developmental Psychology, Fall 2008
Victoria Cross
World Economic History before the Industrial Revolution, Spring 2009
Gregory Clark
Molecular and Cellular Biology of Plants, Spring 2008
John Harada
Ray Tracing for Global Illumination
Nelson Max