Analysis of Algorithms
Time and space complexity analysis, Correctness and loop invariants, Algebraic simplification and transformations; Lower bound theory, NP- completeness, NP-hard and NP-complete problems.
Algorithmic Techniques
Divide-and-conquer, greedy method, dynamic programming, backtracking, branch and bound; Flow algorithms; Approximation Algorithms; Introduction to parallel and randomized algorithms.
Search and Traversal Techniques
Basic search and traversal techniques, Topological sorting, Connected components, Spanning trees, Shortest paths.