Lectu
Unit Unit Name Topics to be covered
re
⚫ Concepts in algorithm analysis & design - motivation
⚫ Complexity of an algorithm (Space and time Complexity), Analysis of time
complexity of Insertion Sort by step count method
⚫ Growth of functions, Asymptotic Notations (Big Oh, Omega, Theta))
1 Introduction 1-5
⚫ Solving recurrences: Iterative method Substitution method, Recurrence Tree
method
⚫ Solving recurrences: Master theorem, Change of variable
Tutorials / Activity
⚫ Structure of Divide-and-Conquer algorithm design technique
Divide and ⚫ Analysis of divide-and-conquer run time recurrence relations of
◼ Binary Search
2a Conquer 6-8
◼ Merge Sort
Approach ◼ Quick Sort
Tutorials / Activity
⚫ Overview of Greedy design paradigm and Solving as well as analyzing the
following problems using Greedy method:
◼ Fractional knapsack problem
Greedy ◼ Job sequencing with deadlines
2b ◼ Huffman method of Optimal Coding 9-14
Approach ◼ Finding Minimum spanning trees for a Graph: Kruskal’s Method
◼ Finding Minimum spanning trees for a Graph: Prim’s Method
◼ Finding Single Pair Shortest Path in a graph: Dijkstra’s Method
Tutorials / Activity
⚫ Overview of Dynamic Programming paradigm, Difference between Dynamic
Programming and Divide & Conquer/Greedy Methods
⚫ Solving as well as analyzing the following problems using Dynamic
Programming method:
◼ 0/1 Knapsack problem
Dynamic ◼ Matrix Chain Multiplication
◼ Longest Common Subsequence 15-
3 Programmin
⚫ Multistage Graph problem - Forward and Backward Approach for solving 24
g Approach ⚫ Finding All Pair Shortest Paths in a Graph - Floyd Warshall Algorithm
⚫ Notion of Optimal Binary Search Tree (OBST), Finding OBST using Dynamic
Programming method
⚫ Notion of Travelling Salesman Problem (TSP), Solving TSP using Dynamic
Programming method
Tutorials / Activity
Amortized ⚫ Notion and methods of Amortized Analysis of algorithms: Aggregate Analysis,
Accounting Method, Potential Method
Analysis and ⚫ Randomized Algorithms: Las Vegas and Monte Carlo algorithms 25-
4
Randomized ⚫ Randomized Quick Sort and its analysis 30
⚫ Minimum Cut in a graph - Karger’s min cut algorithm
Algorithms
Tutorials / Activity
⚫ Concepts of Complexity Classes: P, NP, NP-Hard and NP-Complete
⚫ Reducibility of problems
⚫ Complexity Classes for the following selected problems:
Complexity ◼ Vertex Cover Problem
Classes and ◼ 3-CNF Satisfiability Problem
◼ Maximal Clique Problem 31-
6. Approximati ◼ Hamiltonian cycle Problem
◼ Travelling Salesman Problem 40
on
⚫ Notion of Approximation algorithms
Algorithms ⚫ Approximation algorithms for following selective problems:
◼ Vertex Cover Problem
◼ Travelling Salesman Problem
Tutorials / Activity