Parallel Algorithms
Concepts in parallel computing.
Models like PRAM.
Parallel sorting and searching.
Concurrent Algorithms
Concurrency issues.
Synchronization mechanisms.
Deadlocks and race conditions.
Probabilistic and Randomized Algorithms
Monte Carlo algorithms.
Las Vegas algorithms.
Randomized Quick Sort.
Approximation Algorithms
Need for approximation.
Examples: Vertex cover, Traveling Salesman Problem.
Online Algorithms
Concept of online computation.
Competitive analysis.
Examples: Paging algorithms.
Advanced Data Structures
B-Trees.
Splay Trees.
Trie (Prefix Tree).
String Algorithms
Pattern matching.
Knuth-Morris-Pratt (KMP) algorithm.
Boyer-Moore algorithm.
Computational Geometry
Convex hulls.
Closest pair of points.