Design and Analysis of Algorithms
Video Lectures
Displaying all 34 video lectures.
Lecture 1![]() Play Video |
Course Overview, Interval Scheduling In this lecture, Professor Devadas gives an overview of the course and introduces an algorithm for optimal interval scheduling. |
Lecture 2![]() Play Video |
Divide & Conquer: Convex Hull, Median Finding In this lecture, Professor Devadas introduces divide-and-conquer algorithms and problems that can be solved using divide-and-conquer approaches. |
Lecture 3![]() Play Video |
Recitation 1: Matrix Multiplication and the Master Theorem Instructor: Ling Ren In this recitation, problems related to matrix multiplication and weighted interval scheduling are discussed. |
Lecture 4![]() Play Video |
Divide & Conquer: FFT Instructor: Erik Demaine In this lecture, Professor Demaine continues with divide and conquer algorithms, introducing the fast fourier transform. |
Lecture 5![]() Play Video |
Recitation 2: 2-3 Trees and B-Trees Instructor: Amartya Shankha Biswas In this recitation, problems related to 2-3 Trees and B-Trees are discussed. |
Lecture 6![]() Play Video |
Divide & Conquer: van Emde Boas Trees Instructor: Erik Demaine In this lecture, Professor Demaine introduces the van Emde Boas Tree data structure and its uses. |
Lecture 7![]() Play Video |
Amortization: Amortized Analysis Instructor: Erik Demaine In this lecture, Professor Demaine introduces analysis techniques for data structures, and the implementation of algorithms based on this analysis. |
Lecture 8![]() Play Video |
Randomization: Matrix Multiply, Quicksort In this lecture, Professor Devadas introduces randomized algorithms, looking at solving sorting problems with this new tool. |
Lecture 9![]() Play Video |
Recitation 4: Randomized Select and Randomized Quicksort Instructor: Ling Ren In this recitation, problems related to Randomized Select and Randomized Quicksort are discussed. |
Lecture 10![]() Play Video |
Randomization: Skip Lists In this lecture, Professor Devadas continues with randomization, introducing skip lists as a randomized data structure. |
Lecture 11![]() Play Video |
Randomization: Universal & Perfect Hashing Instructor: Erik Demaine In this lecture, Professor Demaine reviews hashing in the context of randomized algorithms. |
Lecture 12![]() Play Video |
Recitation 5: Dynamic Programming Instructor: Ling Ren In this recitation, problems related to dynamic programming are discussed. |
Lecture 13![]() Play Video |
Augmentation: Range Trees Instructor: Erik Demaine In this lecture, Professor Demaine covers the augmentation of data structures, updating common structures to store additional information. |
Lecture 14![]() Play Video |
Dynamic Programming: Advanced DP In this lecture, Professor Devadas introduces the concept of dynamic programming. |
Lecture 15![]() Play Video |
Dynamic Programming: All-Pairs Shortest Paths Instructor: Erik Demaine In this lecture, Professor Demaine covers different algorithmic solutions for the All-Pairs Shortest Paths problem. |
Lecture 16![]() Play Video |
Greedy Algorithms: Minimum Spanning Tree Instructor: Erik Demaine In this lecture, Professor Demaine introduces greedy algorithms, which make locally-best choices without regards to the future. |
Lecture 17![]() Play Video |
Recitation 6: Greedy Algorithms Instructor: Amartya Shankha Biswas In this recitation, problems related to greedy algorithms are discussed. |
Lecture 18![]() Play Video |
Incremental Improvement: Max Flow, Min Cut In this lecture, Professor Devadas introduces network flow, and the Max Flow, Min Cut algorithm. |
Lecture 19![]() Play Video |
Incremental Improvement: Matching In this lecture, Professor Devadas continues with the topic of network flow. |
Lecture 20![]() Play Video |
Recitation 7: Network Flow and Matching Instructor: Ling Ren In this recitation, problems related to Network Flow and Matching are discussed. |
Lecture 21![]() Play Video |
Linear Programming: LP, reductions, Simplex In this lecture, Professor Devadas introduces linear programming. |
Lecture 22![]() Play Video |
Complexity: P, NP, NP-completeness, Reductions Instructor: Erik Demaine In this lecture, Professor Demaine introduces NP-completeness. |
Lecture 23![]() Play Video |
Recitation 8: NP-Complete Problems Instructor: Amartya Shankha Biswas In this recitation, problems related to NP-Completeness are discussed. |
Lecture 24![]() Play Video |
Complexity: Approximation Algorithms In this lecture, Professor Devadas introduces approximation algorithms in the context of NP-hard problems. |
Lecture 25![]() Play Video |
Complexity: Fixed-Parameter Algorithms Instructor: Erik Demaine In this lecture, Professor Demaine tackles NP-hard problems using fixed-parameter algorithms. |
Lecture 26![]() Play Video |
Recitation 9: Approximation Algorithms: Traveling Salesman Problem Instructor: Amartya Shankha Biswas In this recitation, problems related to approximation algorithms are discussed, namely the traveling salesman problem. |
Lecture 27![]() Play Video |
Synchronous Distributed Algorithms: Symmetry-Breaking. Shortest-Paths Spanning Trees Instructor: Nancy Ann Lynch In this lecture, Professor Lynch introduces synchronous distributed algorithms. |
Lecture 28![]() Play Video |
Asynchronous Distributed Algorithms: Shortest-Paths Spanning Trees Instructor: Nancy Ann Lynch In this lecture, Professor Lynch introduces asynchronous distributed algorithms. |
Lecture 29![]() Play Video |
Recitation 10: Distributed Algorithms Instructor: Ling Ren In this recitation, problems related to distributed algorithms are discussed. |
Lecture 30![]() Play Video |
Cryptography: Hash Functions In this lecture, Professor Devadas covers the basics of cryptography, including desirable properties of cryptographic functions, and their applications to security. |
Lecture 31![]() Play Video |
Cryptography: Encryption In this lecture, Professor Devadas continues with cryptography, introducing encryption methods. |
Lecture 32![]() Play Video |
Recitation 11: Cryptography: More Primitives Instructor: Ling Ren In this recitation, problems related to cryptography are discussed. |
Lecture 33![]() Play Video |
Cache-Oblivious Algorithms: Medians & Matrices Instructor: Erik Demaine In this lecture, Professor Demaine introduces cache-oblivious algorithms. |
Lecture 34![]() Play Video |
Cache-Oblivious Algorithms: Searching & Sorting Instructor: Erik Demaine In this lecture, Professor Demaine continues with cache-oblivious algorithms, including their applications in searching and sorting. |