Design and Analysis of Algorithm L T P C
Version 1.0 3 0 0 3
Pre-requisites/Exposure
Co-requisites --
Course Objectives
1. To understand the necessity of the algorithm design.
2. To write the algorithm to solve a problem.
3. To analyze the performance of the algorithm.
4. To implement the algorithm in C/C++.
Course Outcomes
On completion of this course, the students will be able to
CO1. Apply mathematical techniques to find the complexity of an algorithm
CO2. Analyze algorithms and express asymptotically different case behaviour.
CO3. Demonstrate good principles of algorithm designs.
CO4. Design appropriate data structures to reduce the complexity of an algorithm.
CO5. Differentiate among P, NP hard and NP Complete problems.
Catalog Description
This course deals with various aspects of designing algorithms and determining their mathematical
characteristics. The broad focus lies on computational complexity, divide-and-conquer, dynamic
programming, greedy approach, and backtracking algorithms. The clear distinction among P, NP
Hard and NP Complete problems are covered in details.
Course Content
UNIT I: Introduction 9 lecture hours
Algorithm, Psuedo code, Performance Analysis- Space complexity, Time complexity, Asymptotic
Notation- Big oh notation, Omega notation, Theta notation with numerical, different algorithm design
techniques, recurrence relation, solving methods: substitution, recursion tree, master theorem with
numerical.
UNIT II: Divide and Conquer 6 lecture hours
Binary search, Quick sort: best case & worst case analysis, Merge sort, Strassen’s matrix multiplication
UNIT III: Greedy Method 6 lecture hours
Activity selection problem, knapsack problem, Minimum cost spanning trees: Prims and kruskal, Single
source shortest path problem: Bellman ford, dijkstra’s, Huffman codes.
UNIT IV: Dynamic Programming 5 lecture hours
Matrix chain multiplication, 0/1 knapsack problem, All pairs shortest path problem, largest common
subsequence.
UNIT V: Sorting In Linear Time 6 lecture hours
Lower bounds for sorting, counting sort, radix sort, bucket sort, Backtracking: N-queen problem, sum of
subsets problem,
UNIT VI: Branch and Bound Method and Its Applications. 4 lecture hours
Travelling salesman problem, NP-Hard and NP-Complete problem and concepts
Text Books
1. Thomas H. Cormen (2009) Introduction to Algorithm (Third Edition), The MIT Press.
ISBN: 978-0-262-03384-8
2. John Kleinberg and Eva Tardos (2005), Algorithm Design, ISBN: 0-321-29535-8
Reference Books
1. Rajesh K. Shukla (2015) Analysis and Design of Algorithms: A Beginner's Approach,
Wiley, ISBN-10: 8126554770
2. S.Sridhar (2014), Design and Analysis of Algorithms 1st Edition, Publisher: Oxford
University Press ISBN: 9780198093695, 0198093691
Modes of Evaluation: Quiz/Assignment/ Presentation/ Extempore/ Written Examination
Examination Scheme:
Relationship between the Course Outcomes (COs), Program Outcomes (POs) and Program
Specific Objectives (PSOs)
Course
Outcomes PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
CO1 3 3 1 2 3 1
CO2 3 3 2 2 3 1
CO3 2 2 2 1 3 1
CO4 2 3 2 1 3 1
CO5 3 2 1 3 3 1
Average 2.6 2.6 1.6 1.8 3 1
1= Weak 2= Moderate 3 = Strong