NOC:Introduction to Algorithms and Analysis


Lecture 1 - Insertion sort


Lecture 2 - Analysis of Insertion Sort


Lecture 3 - Asymptotic Analysis


Lecture 4 - Recurrence of Merge Sort


Lecture 5 - Substitution Method


Lecture 6 - The Master Method


Lecture 7 - Divide-and-Conquer


Lecture 8 - Divide-and-Conquer (Continued...)


Lecture 9 - Straseen's Algorithms


Lecture 10 - QuickSort


Lecture 11 - Analysis of Quicksort


Lecture 12 - Randomized Quicksort


Lecture 13 - Heap


Lecture 14 - Heap Sort


Lecture 15 - Decision Tree


Lecture 16 - Linear time Sorting


Lecture 17 - Radix Sort and Bucket Sort


Lecture 18 - Order Statistics


Lecture 19 - Randomised Order Statistics


Lecture 20 - Worst case linear time order statistics


Lecture 21 - Hash Function


Lecture 22 - Open Addressing


Lecture 23 - Universal Hashing


Lecture 24 - Perfect Hashing


Lecture 25 - Binary Search Tree (BST) Sort


Lecture 26 - Randomly build BST


Lecture 27 - Red Black Tree


Lecture 28 - Red Black Tree (Continued...)


Lecture 29 - Augmentation of data structure


Lecture 30 - Interval trees


Lecture 31 - Fixed universe successor


Lecture 32 - Van Emde Boas data structure


Lecture 33 - Amortized analysis


Lecture 34 - Computational Geometry


Lecture 35 - Computational Geometry (Continued...)


Lecture 36 - Dynamic Programming


Lecture 37 - Longest common subsequence


Lecture 38 - Graphs


Lecture 39 - Prim's Algorithms


Lecture 40 - Graph Search


Lecture 41


Lecture 42


Lecture 43


Lecture 44


Lecture 45


Lecture 46


Lecture 47


Lecture 48


Lecture 49


Lecture 50


Lecture 51


Lecture 52 - Union-Find


Lecture 53 - Augmented disjoint set data structure


Lecture 54 - Network flow


Lecture 55 - Network Flow (Continued...)


Lecture 56 - Network Flow (Continued...)


Lecture 57 - More on Dynamic Programming


Lecture 58 - More on Dynamic Programming (Continued...)


Lecture 59 - Computational Complexity


Lecture 60 - Computational Complexity (Continued...)