Analysis of Algorithms
Review of Algorithm, Complexity Order Notations: definitions and calculating complexity.
Divide And Conquer Method:
Binary Search, Merge Sort, Quick sort and Strassen's matrix multiplication algorithms.
Knapsack Problem, Job Sequencing, Optimal Merge Patterns and Minimal Spanning Trees.
Dynamic Programming:
Matrix Chain Multiplication. Longest CommonSubsequence and 0/1 Knapsack Problem.
Traveling Salesman Problem and Lower Bound Theory. Backtracking Algorithms and queens problem.
Pattern Matching Algorithms:
Naïve and Rabin Karp string matching algorithms, KMP Matcher and Boyer Moore Algorithms.
Formulation of Assignment and Quadratic Assignment Problem.
Randomized Algorithms
Las Vegas algorithms, Monte Carlo algorithms, randomized algorithm for Min-Cut, randomized algorithm for 2- SAT. Problem definition of Multicommodity flow, Flow shop scheduling and Network capacity assignment problems.
Definitions of P, NP-Hard and NP-Complete Problems. Decision Problems.Cook's Theorem. Proving NP- Complete Problems - Satisfiability problem and Vertex Cover Problem. Approximation Algorithms for Vertex Cover andSet Cover Problem.