Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

22CS303_DAA_Syllabus-new

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

DESIGN AND ANALYSIS OF ALGORITHMS L T P C

22CS303 (Common to CSE, IT and AIML) 2 0 2 3


OBJECTIVES:
The Course will enable learners to:
● Critically analyse the efficiency of alternative algorithmic solutions for the sameproblem
Illustrate brute force and divide and conquer design techniques.
● Explain dynamic programming for solving various problems.
● Apply greedy technique and iterative improvement technique to solve optimization
problems
● Examine the limitations of algorithmic power and handling it in different problems.

UNIT I INTRODUCTION 6+6


Notion of an Algorithm – Fundamentals of Algorithmic Problem Solving –Fundamentals of the
Analysis of Algorithmic Efficiency – Asymptotic Notations and their properties. Analysis
Framework –Mathematical analysis for Recursive and Non-recursive algorithms

List of Exercise/Experiments:
1. Perform the recursive algorithm analysis.
2. Perform the non-recursive algorithm analysis.
UNIT II BRUTE FORCE ANDDIVIDE AND CONQUER 6+6
Brute Force - String Matching - Exhaustive Search - Knapsack Problem -Divide and Conquer
Methodology – Binary Search – Merge sort – Quick sort - Multiplication of Large Integers –
Closest-Pair and Convex Hull Problems - Transform and Conquer Method: Heap Sort

List of Exercise/Experiments:
1. Write a program to search an element using binary search
2. Write a program to sort the elements using merge sort and find time complexity.
3. Write a program to sort the elements using quick sort and find time complexity.
4. Write a program to sort the elements using heap sort

UNIT DYNAMIC PROGRAMMING 6+6


III
Dynamic programming – Principle of optimality – Floyd‘s algorithm – Multi stage graph -
Optimal Binary Search Trees - Longest common subsequence - Matrix-chain multiplication –
Travelling Salesperson Problem – Knapsack Problem and Memory functions.

List of Exercise/Experiments:
1. Solve Floyd’s algorithm
2. Write a program to find optimal binary search tree for a given list of keys.
3. Solve the multi-stage graph to find shortest path using backward and forward
approach
4. Write a program to find the longest common subsequence

UNIT GREEDY TECHNIQUE AND ITERATIVE IMPROVEMENT 6+6


IV
Greedy Technique – Prim‘s algorithm and Kruskal’s Algorithm –Huffman Trees. The Maximum-
Flow Problem – Maximum Matching in Bipartite Graphs- The Stable marriage Problem

List of Exercise/Experiments:
1. Write a program to find minimum spanning tree using Prim’s algorithm
2. Implement Kruskal’s algorithm to find minimum spanning tree
3. Write a program to solve maximum flow problem

UNIT V BACKTRACKING AND BRANCH AND BOUND 6+6


P, NP NP- Complete and NP Hard Problems. Backtracking – N-Queen problem - SubsetSum
Problem. Branch and Bound– LIFO Search and FIFO search - Assignment problem
– Knapsack Problem - Approximation Algorithms for NP-Hard Problems – Travelling
Salesman problem

List of Exercise/Experiments:
1. Write a program to implement sum of subset problem.
2. Write a program to solve N-Queen problem
3. Solve the assignment problem using branch and bound technique
4. Solve knapsack problem using branch and bound technique
TOTAL:60PERIODS
OUTCOMES:
Upon completion of the course, the students will be able to:
CO1:Solve mathematically the efficiency of recursive and non-recursive algorithms
CO2: Design and Analyse the efficiency of divide and conquer and transform andconquer
algorithmic techniques
CO3:Implement and analyse the problems using dynamic programming
CO4:Solve the problems using and greedy technique and iterative improvementtechnique for
optimization
CO5:Compute the limitations of algorithmic power and solve the problems usingbacktracking
and branch and bound technique.
TEXTBOOKS:
1. Anany Levitin, Introduction to the Design and Analysis of Algorithms, Third Edition,
Pearson Education, 2012.
2. Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran, Computer Algorithms/
C++, Second Edition, Universities Press, 2019.
REFERENCES:
1. Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest and Clifford Stein,Introduction to
Algorithms, Third Edition, PHI Learning Private Limited, 2012.
2. S. Sridhar, Design and Analysis of Algorithms, Oxford university press, 2014.
3. http://nptel.ac.in/
LIST OF EQUIPMENTS:
Standalone PC with C/C++/Java

You might also like