Chapter 1

Foundation of Algorithm Analysis

Algorithm properties, RAM model, time & space complexity, detailed algorithm analysis, aggregate analysis, asymptotic notations.

Chapter 2

Iterative Algorithms

GCD and Fibonacci algorithms, sequential search, binary search, time and space complexity analysis.

Chapter 3

Divide and Conquer Algorithms

Binary search, Min-Max finding, merge sort, quick sort, best/worst/average case analysis.

Chapter 4

Greedy Algorithms

Optimization problems, greedy strategy, fractional knapsack, job sequencing, Huffman coding.

Chapter 5

Dynamic Programming

Greedy vs DP, recursion vs DP, matrix chain multiplication, string editing, zero-one knapsack.

Chapter 6

Backtracking

Concepts of backtracking; subset-sum; zero-one knapsack; N-queen problem and analysis.

Chapter 7

Number Theoretic Algorithms

Euclid’s and extended Euclid algorithms; modular linear equations; Chinese remainder theorem; primality tests.

Chapter 8

NP Completeness

Tractable vs intractable problems; P, NP, NP-Hard, NP-Complete; polynomial reductions.