20MCA203 Design & Analysis of Algorithms Core 3 1 0 4: 3/2/1: High/Medium/Low
20MCA203 Design & Analysis of Algorithms Core 3 1 0 4: 3/2/1: High/Medium/Low
Preamble: The syllabus is prepared with a view to provide a strong foundation to students in
design and analysis of computer algorithms and to introduce them the advanced topics such as
Network Flows, Approximation algorithms and Randomised algorithms.
Prerequisite: Knowledge in Data Structures
Course Outcomes: After completion of the course the student will be able to
Bloom's
CO No. Course Outcome (CO)
Category Level
Discuss the basic concepts in computer algorithms and their Level 2:
CO 1
analysis & design using Divide and Conquer. Understand
Explain the concepts of Greedy Strategy and Dynamic Level 3:
CO 2
Programming to use it in solving real world problems. Apply
Explain the Branch & Bound technique, Backtracking Level 2:
CO 3
technique and Lower bounds. Understand
Describe the fundamental concepts of Computational Level 2:
CO 4
Complexity and Network Flows. Understand
Discuss the concepts of Approximation and Randomised Level 2:
CO 5
Algorithms. Understand
PO PO PO PO PO PO PO PO PO PO PO
PO 1
2 3 4 5 6 7 8 9 10 11 12
CO 1 3 3 1 2 2
CO 2 3 3 1 2 2
CO 3 3 3 1 2 2
CO 4 3 3 1 2 2
CO 5 3 3 1 2 2
3/2/1: High/Medium/Low
13
Assessment Pattern
Continuous End
Bloom’s Assessment Semester
Category Levels Tests Examination
1 2
Level 1: Remember 20 20 20
Level 2: Understand 20 30 30
Level 3: Apply 10 10
Level 4: Analyse
Level 5: Evaluate
Level 6: Create
Mark distribution
100 40 60 3 hours
End Semester Examination Pattern: There will be two parts; Part A and Part B. Part A
contain 10 questions with 2 questions from each module, having 3 marks for each question.
Students should answer all questions. Part B contains 2 questions from each module of which
student should answer any one. Each question can have a maximum 2 subdivisions and carry
6 marks.
14
Course Outcome 3 (CO 3):
1. Explain the N-Queen’s problem and its solution using Backtracking.
2. Explain the 8-puzzle problem and illustrate how it can be solved using Branch and
Bound.
3. Bring out the notion of Decision Trees.
4. What is the lower bound of the time complexity of Comparison based sorting
algorithms?
Part A
15
9. What do you mean by approximation ratio of an Approximation algorithm?
10. What is meant by a Randomised Algorithm?
Part B
11 Write the Linear Search Algorithm and analyse the best, worst and average case 6
complexities of the algorithm.
OR
12 Explain the Merge Sort algorithm and give its worst-case analysis. 6
OR
14 Explain the dynamic programming algorithm for the Travelling Salesman problem. 6
19 Explain the 2-approximation algorithm for Vertex Cover and justify its 6
approximation ratio.
OR
20 Describe Randomised Quick sort. 6
16
Syllabus
Module 1: (8 Hours)
Module 2: (9 Hours)
Complexity Theory: Class P and NP, Polynomial time reductions, Class NP Hard and NP-
Complete, Example Problems- Vertex Cover problem, Clique Problem.
Network Flows: Flow Networks and Network Flow, Max- Flow Min Cut Theorem, Ford
Fulkerson method, Bipartite matching (Analysis not required)
Text Books
1. Thomas H. Cormen, et al., “Introduction to Algorithms”, Prentice Hall, 3rd Edition
(2010)
2. Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran, “Fundamentals of Computer
Algorithms”, Orient Longman, Universities Press, 2nd Edition (2008)
17
Reference Books
1. Richard Neapolitan, Kumarss Naimipour, “Foundations of Algorithms”, Jones and
Bartlett Publishers, Inc, 4th Edition (2011).
2. Sara Baase, Allen Van Gelder, “Computer Algorithms: Introduction to Design and
Analysis”, Pearson India, 3rd Edition (2002).
3. A. Levitin, “Introduction to the Design & Analysis of Algorithms”, Pearson Education,
3rd Edition (2008).
Sl. No. of
Topic
No. Lectures
1 Review of Algorithm Analysis and Divide & Conquer 8 Hours
18
3 Backtracking, Branch & Bound, Lower Bounds 7 Hours
19