Daa Syllabus
Daa Syllabus
DAA syllabus
Course L T P C
Course Code 21CSC204J Course Name DESIGN AND ANALYSIS OF ALGORITHMS C Professional Core
Category 3 0 2 4
Progressive
Pre-requisite Courses Nil Co-requisite Courses Nil
Courses
Course Offering Department Data Science and Business Systems Data Book / Codes/Standards Nil
Course Learning Rationale (CLR): The purpose of learning this course is to: Program Outcomes (PO)
CLR-1 : Design efficient algorithms in solving complex real time problems 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CLR-2 : Analyze various algorithm design techniques to solve real time problems in polynomial time
Problem Analysis
Communication
PSO – 3
PSO - 1
PSO - 2
Course Outcomes (CO): At the end of this course, learners will be able to:
Ethics
2 1 2 1 - - - - - 3 - 3 1 1 2
CO-1 : Apply efficient algorithms to reduce space and time complexity of both recurrent and non-recurrent relations
CO-2 : Solve problems using divide and conquer approaches 2 1 2 1 - - - - - 3 - 3 1 1 2
CO-3 : Apply greedy and dynamic programming types techniques to solve polynomial time problems. 2 1 2 1 - - - - - 3 - 3 1 1 2
CO-4 : Create exponential problems using backtracking and branch and bound approaches. 2 1 2 1 - - - - - 3 - 3 1 1 2
Interpret various approximation algorithms and interpret solutions to evaluate P type, NP Type, NPC, NP 2 1 2 1 - - - - - 3 - 3 1 1 2
CO-5 :
Hard problems
Unit-1 Introduction-Algorithm Design - Fundamentals of Algorithms- Correctness of algorithm - Time complexity analysis - Insertion sort-Line count, Operation count Algorithm Design paradigms -
Designing an algorithm And its analysis-Best, Worst and Average case - Asymptotic notations Based on growth functions. O,O,Ө, ω, Ω - Mathematical analysis - Induction, Recurrence relations -Solution of
recurrence relations - Substitution method - Solution of recurrence relations - Recursion tree - Solution of recurrence relations - examples.
Unit-2 Introduction-Divide and Conquer - Maximum Subarray Problem Binary Search - Complexity of binary search Merge sort - Time complexity analysis -Quick sort and its Time complexity analysis Best
case, Worst case, Average case analysis - Strassen's Matrix multiplication and its recurrence relation - Time complexity analysis of Merge sort - Largest sub-array sum - Time complexity analysis of Largest sub-
array sum - Master Theorem Proof - Master theorem examples - Finding Maximum and Minimum in an array - Time complexity analysis-Examples - Algorithm for finding closest pair problem - Convex
Hull problem
Unit-3 Introduction-Greedy and Dynamic Programming - Examples of problems that can be solved by using greedy and dynamic approach Huffman coding using greedy approach Comparison of brute
force and Huffman method of encoding - Knapsack problem using greedy approach Complexity derivation of knapsack using greedy - Tree traversals - Minimum spanning tree – greedy Kruskal's algorithm -
greedy - Minimum spanning tree - Prims algorithm Introduction to dynamic programming - 0/1 knapsack problem - Complexity calculation of knapsack problem - Matrix chain multiplication using dynamic
programming - Complexity of matrix chain multiplication - Longest common subsequence using dynamic programming - Explanation of LCS with an example - Optimal binary search tree (OBST)using
dynamic programming - Explanation of OBST with an example.
Unit-4 Introduction to backtracking - branch and bound - N queen’s problem – backtracking - Sum of subsets using backtracking Complexity calculation of sum of subsets Graph introduction
Hamiltonian circuit - backtracking - Branch and bound - Knapsack problem Example and complexity calculation. Differentiate with dynamic and greedy Travelling salesman problem using branch and bound
- Travelling salesman problem using branch and bound example - Travelling salesman problem using branch and bound example - Time complexity calculation with an example - Graph algorithms - Depth
first search and Breadth first search - Shortest path introduction - Floyd-Warshall Introduction - Floyd-Warshall with sample graph - Floyd-Warshall complexity
Unit-5. Introduction to randomized and approximation algorithm - Randomized hiring problem Randomized quick sort Complexity analysis
String matching algorithm Examples - Rabin Karp algorithm for string matching Example discussion - Approximation algorithm - Vertex covering - Introduction Complexity classes - P type problems -
Introduction to NP type problems - Hamiltonian cycle problem - NP complete problem introduction - Satisfiability problem - NP hard problems – Examples
Course Designers
Experts from Industry Experts from Higher Technical Institutions Internal Experts
G. Venkiteswaran, Wipro Technologies, [email protected] Mitesh Khapra, IITM Chennai, [email protected] 1. Dr. .K.Senthil Kumar, SRMIST
Dr.Sainarayanan Gopalakrishnan, HCL Technologies, [email protected] 2. V. Masilamani. IIITDM, [email protected] 2. Dr. V. Sivakumar, SRMIST
3. Dr. R.Vidhya,SRMIST