DESIGN AND ANALYSIS OF ALGORITHMS
CS302
Overview
The course introduces the fundamental principles of Algorithm Analysis, Time Complexity, Space Complexity. Various Algorithm Design Strategies with proper illustrative examples are discussed. Complexity Theory is also introduced in this course.
INSTRUCTOR
Dr. AJEESH RAMANUJAN
ajeesh@cet.ac.in
Prerequisites
- CS203: Data Structures
Syllabus
Course Materials
- Lectures
- Lecture 1 : Introduction to Design and Analysis of Algorithms.
- Lecture 2 : Introduction to Asymptotic Notations.
- Lecture 3 : Asymptotic Notations.
- Lecture 4 : Asymptotic Dominance.
- Lecture 5 : Recurrence Relations.
- Lecture 6 : Substitution Method.
- Lecture 7 : Recurrence Tree Method.
- Lecture 8 : Master’s Theorem.
- Lecture 9 : Dynamic Set Data-structure.
- Lecture 10 : AVL Tree’s.
- Lecture 11 : Red-Black Tree’s – Introduction.
- Lecture 12 : Red-Black Tree’s – Insertion and Deletion.
- Lecture 13 : Union, Find in Dynamic Set – Introduction.
- Lecture 14 : Union, Find in Dynamic Set – Optimization.
- Lecture 15 : Graphs.
- Lecture 16 : Breadth First Search.
- Lecture 17 : Depth First Search.
- Lecture 18 : Directed Acyclic Graphs.
- Lecture 19 : Strongly Connected Components.
- Lecture 20 : Minimum Spanning Tree’s.
- Lecture 21 : Prim’s Algorithm.
- Lecture 22 : Dijikstra’s Algorithm.
- Lecture 23 : Bellman- Ford Algorithm.
- Lecture 24 : Divide and Conquer algorithm design technique.
- Lecture 25 : Dynamic Programming algorithm design technique.
- Lecture 26 : Greedy algorithm design technique.
- Lecture 27 : Backtracking algorithm design technique.
References
- Textbook : Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Introduction to Algorithms, MIT Press, 2009.
- NPTEL Course : Design and Analysis of Algorithm.
- Online Course : Algorithms by Princeton University.