UNIT 1:
Introduction, Notion of an Algorithm
Fundamentals of Algorithmic Problem Solving
Fundamentals of the Analysis of Algorithm Efficiency
Asymptotic Notations and its properties
Mathematical Analysis for Recursive Algorithm
Mathematical Analysis for Non-recursive Algorithms
UNIT 2:
Brute Force: Selection Sort , Bubble Sort
Sequential Search and Closest Pair Problem
Traveling Salesman Problem
Knapsack Problem, Assignment Problem
Divide and Conquer Methodology: Merge Sort
Multiplication of Large Integers and Strassen’s Matrix Multiplication
UNIT 3:
Dynamic Programming: Computing a Binomial Coefficient
Warshall’s Algorithm- Floyd’s Algorithm
Optimal Binary Search Trees
Knapsack Problem and Memory Functions
UNIT 4:
Naive String Matching Algorithm
Knuth Morris Pratt Algorithm- Analysis
UNIT 5:
Limitations of Algorithm, Lower-Bound Arguments
P, NP and NP-Complete Problems
Limitations of Algorithm, Lower-Bound Arguments
P, NP and NP-Complete Problems
Coping with the Limitations- Backtracking: n-Queens problem
Hamiltonian Circuit Problem, Subset Sum Problem
Branch and Bound: Assignment Problem
Traveling Salesman Problem
Approximation Algorithms for NP Hard Problems