Daa Course Handout
Daa Course Handout
: Nihar Ranjan Nayak , Ajit Kumar Behera , Saumyaranjan Dash , AKSHAYA KUMAR DASH
Name of Faculty , RABINARAYAN MOHANTY
Scope & Objective -:
The objectives of this course is to introduce the techniques for designing efficient algorithms, apply them to solve problems, and
analyze the complexities in different domains.
Pre-Requisite -:
Detailed Syllabus:
Module# CO Topics Hours
Introduction, Definition, Characteristics of algorithm, Growth
of Functions, Asymptotic analysis, Standard notations and
common functions, Recurrences, Solution of recurrences by
iterative, recursion tree, substitution and Master method;
Module-1 CO1 12
Algorithm design techniques, Divide and conquer strategy for
designing algorithms, Obtaining best, average, worst-case
running time of Merge sort, Quick sort and Randomized Quick
sort.
Heaps, Building a Heap, The heap sort algorithm, Priority
Queue with their analysis; Lower bounds of sorting; Dynamic
Module-2 CO2 Programming, Elements of dynamic programming, Matrix chain 10
multiplication, Longest Common Subsequence, String matching
algorithms (Naive, Rabin-Karp, Knuth- Morris-Pratt algorithm).
Greedy algorithms, Elements of Greedy strategy, Activity
selection problem, Fractional Knapsack problem along with
correctness proofs, Huffman codes; Backtracking and Branch &
Module-3 CO3 Bound techniques (n-Queen, Knapsack, and Travelling 12
Salesman problem); Data structure for disjoint sets, Disjoint set
operations, Linked list representation, Path compression,
Disjoint set forest.
Graph algorithms and their characteristics, Breadth-first and
depth-first search, Minimum spanning trees, Kruskal and
Module-4 CO4 Prim’s algorithms, Singlesource shortest path algorithms 10
(Bellman-Ford, Dijkstra), All-pair shortest path algorithm
(Floyd-Warshall) with their analysis.
Maximum flow problem, Ford-Fulkerson algorithm and its
analysis; NP completeness (Polynomial time, Polynomial time
verification, NP completeness and reducibility), Cook’s
Theorem (without proof), Examples of NP complete problems
Module-5 CO5 12
(without proof) - Circuit satisfiability, 3- CNF satisfiability,
Clique, Vertex cover, Ham-cycle, TSP (without proof);
Approximation algorithm characteristics, Travelling Salesman
Problem, Randomized algorithms (Max3-CNF satisfiability.
Total 56 Hours
Text Book
T. H.Cormen, C.E.Leiserson, R. L.Rivest, and C. Stein, Introduction to Algorithms, 3rd Edition, PHI Learning, 2014, ., .
E. Horowitz, S.Sahni, and S.Rajasekaran, Fundamentals of Computer Algorithms, 2nd Edition, University Press, 2015, ., .
J. Kleinberg and E. Tardos, Algorithm Design, 1st Edition, Pearson Education, 2013, ., .
Reference Book
M. T. Goodrich and R. Tamassia, Algorithm Design: Foundations, Analysis, and Internet Examples, 1st Edition, John Wiley &
Sons, 2001, ., .
U. Manber, Introduction to Algorithms: A Creative Approach, 1st Edition, Addison-Wesley, 1989, ., .
S. Sridhar, Design and Analysis of Algorithms, 1st Edition, Oxford University Press, 2014, ., .
G. Sharma, Design & Analysis of Algorithms, 4th Edition, Khanna Publishers, 2019, ., .
Online Reference Material(s):
1. http://www.nptelvideos.in/2012/11/design-analysis-of-algorithms.html
2. http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=IntroToAlgorithms
3. https://www.geeksforgeeks.org/fundamentals-of-algorithms/
4. https://www.tutorialspoint.com/design and analysis of algorithms/
Course Outcome:
Design algorithms, analyze their running time for best, worst, and average-cases, and understand
CO1
divide & conquer strategy considering quick sort and merge sort as examples.
Compare Heapsort with other comparison based sorting algorithms and develop dynamic
CO2
programming algorithms.
Apply disjoint-set data structure and various algorithm design techniques such as greedy,
CO3
backtracking, and branch-and-bound in real life problems.
Model a given engineering problem using graphs and design the corresponding algorithms to solve
CO4
the problem.
Compare various pattern matching algorithms, understand NP-Completeness and the need of
CO5
approximation & randomized algorithms.