Abdul Bari Algorithms Course
One of the best introductory courses on algorithms. It's thorough, yet succinct and gives a broad overview of algorithms.
One of the best introductory courses on algorithms. It’s thorough, yet succinct and gives a broad overview of algorithms.
Video Course Link
Time Complexity
Notes*: abdul bari algorithms/time-complexity
Introduction to algorithms
What is an algorithm?
Priori vs Poesteriori Analysis
Algorithm Characteristics and analysis
Frequency count method to find time taken by an algorithm
Algorithm analysis
Time Complexity
Space Complexity
Asymptotic Notation
Big O -
Big Omega - Ω
Theta - Θ
Properties of asymptotic notation
General
Reflexive
Transitive
Symmetric
Transpose Symmetric
Comparisons of functions
Best, worst, and average case analysis
Linear Search
Binary Search
Recurrence Relation and Master’s Theorem for Subtracting Functions
Notes*: abdul bari algorithms/recurrence-relation-masters-theorem-subtracting
Divide and Conquer Intro
Examples where the subproblems reduce by n-b
Substitution method for finding recurrence relation
Tree method for finding recurrence relation
Master’s Theorem
For the general form
Recurrence Relation and Master’s Theorem for Dividing Functions
Notes*: abdul bari algorithms/recurrence-relation-masters-theorem-dividing
Examples where the subproblems reduce by n/b
Substitution method for finding recurrence relation
Tree method for finding recurrence relation
Master’s Theorem
For the general form
Binary Search
Notes*: abdul bari algorithms/binary search
Iterative Implementation
Recursive Implementation
Heap
Notes*: abdul bari algorithms/heap
Array Representation of Binary Heap
Complete Binary Tree
Full Binary Tree
Insertion
Deletion
Heap Sort
Heapify
Priority Queue
Merge Sort
Notes:* abdul bari algorithms/merge sort
Merge list
2 way merge
k-way merge
Iterative Merge sort