Course Plan Design and Analysis of Algorithm
Course Plan Design and Analysis of Algorithm
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
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.
Activity selection problem, knapsack problem, Minimum cost spanning trees: Prims and kruskal, Single
source shortest path problem: Bellman ford, dijkstra’s, Huffman codes.
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