Analysis of Algorithms Lectures


Introduction to mathematical analysis of a variety of computer algorithms including searching, sorting, matrix multiplication, fast Fourier transform, and graph algorithms. Time and space complexity. Upper-bound, lower- bound, and average-case analysis. Introduction to NP completeness. Some machine computation is required for the implementation and comparison of algorithms.


Below are the YouTube video links and lecture slides for both my Fall 2020 Zoom Analysis of Algorithms (CSE 373) course and my Fall 2016 pre-COVID, in-class lectures. YouTube provides closed caption subtitles for these lectures, which you can enable by clicking on the CC button on the bottom of the video.

My lectures are based on my book The Algorithm Design Manual. Links to my past video and lecture slides can be found here.


Topics

1 - INTRODUCTION TO ALGORITHMS 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
2 - ASYMPTOTIC NOTATION 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
3 - PROGRAM ANALYSIS 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
4 - ELEMENTARY DATA STRUCTURES 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
5 - DICTIONARIES 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
6 - HASHING 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
7 - HEAPSORT / PRIORITY QUEUES 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
8 - MERGESORT / QUICKSORT 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
9 - LINEAR SORTING 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
10 - GRAPH DATA STRUCTURES 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
11 - BREADTH-FIRST SEARCH 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
12 - DEPTH-FIRST SEARCH 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
13 - MINIMUM SPANNING TREES I 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
14 - MINIMUM SPANNING TREES II 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
15 - SHORTEST PATHS 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
16 - BACKTRACKING I 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
17 - BACKTRACKING II 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
18 - INTRODUCTION TO DYNAMIC PROGRAMMING 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
19 - EDIT DISTANCE I 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
20 - EDIT DISTANCE II 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
21 - INTRODUCTION TO DYNAMIC PROGRAMMING 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
22 - APPLICATIONS OF DYNAMIC PROGRAMMING 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
23 - INTRODUCTION TO NP-COMPLETENESS 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
24 - SATISFIABILITY 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
25 - OTHER REDUCTIONS 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides
26 - THE NP-COMPLETENESS CHALLENGE 2020 Zoom 2020 Slides 2016 Lecture 2016 Slides

If you found this useful also check out the video lectures of my Discrete Mathematics, Computational Biology, Computational Finance, and Data Science courses.