AD3351 DESIGN AND ANALYSIS OF ALGORITHMS LTPC
3024
COURSE OBJECTIVES:
· To critically analyze the efficiency of alternative algorithmic solutions for the same
problem
· To illustrate brute force and divide and conquer design techniques.
· To explain dynamic programming and greedy techniques for solving various problems.
· To apply iterative improvement technique to solve optimization problems
· To examine the limitations of algorithmic power and handling it in different problems.
UNIT I INTRODUCTION 8
Notion of an Algorithm – Fundamentals of Algorithmic Problem Solving – Important Problem
Types –Fundamentals of the Analysis of Algorithm Efficiency – Analysis Framework -
Asymptotic Notations and their properties – Empirical analysis - Mathematical analysis of
Recursive and Non-recursive algorithms – Visualization.
UNIT II BRUTE FORCE AND DIVIDE AND CONQUER 10
Brute Force – String Matching - Exhaustive Search - Traveling Salesman Problem -
Knapsack Problem - Assignment problem. Divide and Conquer Methodology – Multiplication
of Large Integers and Strassen’s Matrix Multiplication – Closest-Pair and Convex - Hull
Problems. Decrease and Conquer: - Topological Sorting – Transform and Conquer:
Presorting – Heaps and Heap Sort.
UNIT III DYNAMIC PROGRAMMING AND GREEDY TECHNIQUE 10
Dynamic programming – Principle of optimality - Coin changing problem – Warshall’s and
Floyd‘s algorithms – Optimal Binary Search Trees - Multi stage graph - Knapsack Problem
and Memory functions. Greedy Technique – Dijkstra’s algorithm - Huffman Trees and codes
- 0/1 Knapsack problem.
UNIT IV ITERATIVE IMPROVEMENT 8
The Simplex Method-The Maximum-Flow Problem – Maximum Matching in Bipartite Graphs-
The Stable marriage Problem.
UNIT V LIMITATIONS OF ALGORITHM POWER 9
Lower - Bound Arguments - P, NP, NP- Complete and NP Hard Problems. Backtracking – N-
Queen problem - Hamiltonian Circuit Problem – Subset Sum Problem. Branch and Bound –
LIFO Search and FIFO search - Assignment problem – Knapsack Problem – Traveling
Salesman Problem - Approximation Algorithms for NP-Hard Problems – Traveling Salesman
problem – Knapsack problem.
45 PERIODS
Downloaded by Candy Jemi (jemimahwin@rediffmail.com)
PRACTICAL EXERCISES:
1. Implement recursive and non-recursive algorithms and study the order of growth from
log2n to n!.
2. Divide and Conquer - Strassen’s Matrix Multiplication
3. Decrease and Conquer - Topological Sorting
4. Transform and Conquer - Heap Sort
5. Dynamic programming - Coin change Problem, Warshall’s and Floyd‘s algorithms,
Knapsack Problem
6. Greedy Technique – Dijkstra’s algorithm, Huffman Trees and codes
7. Iterative improvement - Simplex Method
8. Backtracking – N-Queen problem, Subset Sum Problem
9. Branch and Bound - Assignment problem, Traveling Salesman Problem
30 PERIODS
COURSE OUTCOMES:
At the end of this course, the students will be able to:
CO1: Analyze the efficiency of recursive and non-recursive algorithms mathematically
CO2: Analyze the efficiency of brute force, divide and conquer, decrease and conquer,
Transform and conquer algorithmic techniques
CO3: Implement and analyze the problems using dynamic programming and greedy
algorithmic techniques.
CO4: Solve the problems using iterative improvement techniques for optimization.
CO5: Compute the limitations of algorithmic power and solve the problems using
backtracking and branch and bound techniques.
TOTAL: 75 PERIODS
TEXT BOOKS:
1. Anany Levitin, Introduction to the Design and Analysis of Algorithms, Third Edition,
Pearson Education, 2012.
REFERENCES:
1. Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran, Computer Algorithms/ C++,
Second Edition, Universities Press, 2019.
2. Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest and Clifford Stein, Introduction
to Algorithms, Third Edition, PHI Learning Private Limited, 2012.
3. S. Sridhar, Design and Analysis of Algorithms, Oxford university press, 2014.
4. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, Data Structures and Algorithms,
Pearson Education, Reprint 2006.
CO’s- PO’s & PSO’s MAPPING
CO’s PO’s PSO’s
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
1 3 3 3 1 1 - - - 1 1 2 2 3 2 1
2 2 1 1 3 2 - - - 2 2 1 2 2 2 2
3 3 2 1 2 2 - - - 2 1 1 2 1 3 3
4 3 2 3 2 2 - - - 3 3 3 2 2 1 2
5 3 1 2 3 3 - - - 2 2 2 2 3 1 3
AVG 3 2 2 2 2 - - - 2 2 2 2 2 2 2
1 - low, 2 - medium, 3 - high, ‘-' - no correlation
Downloaded by Candy Jemi (jemimahwin@rediffmail.com)