0% found this document useful (0 votes)
52 views4 pages

Daa Course Handout

Uploaded by

abhinavkar36
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views4 pages

Daa Course Handout

Uploaded by

abhinavkar36
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Course Handout ()

: DESIGN & ANALYSIS OF ALGORITHMS(BTCS-T-


Subject Name/Code PC-011)
Branch/Sem/Batch :

: 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

# Topic Module Chapter Course Coverage No of Classes

Introduction to Design and Analysis of


1 Module-1 Cormen/1.1 TRUE 1
Algorithm, Time and Space Complexity
Growth of Function (Asymptotic notations –
2 Module-1 Cormen/3.1 TRUE 1
Theta(), Big-Oh(O), Omega())
Growth of Function (Asymptotic notations –
3 Module-1 Cormen/3.1 TRUE 1
Little-Oh(o), Little Omega())
Problems on Growth of Function
4 Module-1 Cormen/3.1 TRUE 1
(Asymptotic notations)
Introduction to Recurrences with common
examples (like Binary Search, Linear Search
5 Module-1 Cormen/4 TRUE 1
etc.), Solving Recurrences (Iterative
method)
Solving Recurrences (Substitution Method,
6 Module-1 Cormen/4.3 TRUE 1
Change of variable)
Solving Recurrences (Recurrence Tree
7 Module-1 Cormen/4.4 TRUE 1
Method)
8 Solving Recurrences (Master Method) Module-1 Cormen/4.5 TRUE 1
Problems on Master Method, Case when
9 Module-1 Cormen/4.5 TRUE 1
Master Method fails
10 Introduction to Divide-and-Conquer Module-1 Cormen/4 TRUE 1
11 Merge Sort and its Worst-Case analysis. Module-1 Cormen/2.3 TRUE 1
12 Quick Sorts and its Analysis. Module-1 Cormen/7.1 TRUE 1
13 Randomized Quick Sort Cormen/7.3 FALSE 1
14 Introduction to Heap and its property. Module-2 Cormen/6.1 TRUE 1
HEAPIFY and BUILD-MAX-HEAP module of
15 Heap Sort and finding their time Module-2 Cormen/6.2-6.3 TRUE 1
complexity.
16 Heap Sort and its Complexity Module-2 Cormen/6.4 TRUE 1
17 Priority Queue. Module-2 Cormen/6.5 TRUE 1
18 Lower Bound of Sorting. Module-2 Cormen/8.1 TRUE 1
Introduction to Dynamic Programming
19 (Fibonacci Number as example), Elements Module-2 Cormen/15.3 TRUE 1
of Dynamic Programming.
20 Matrix Chain Multiplication Module-2 Cormen/15.2 TRUE 1
21 Longest Common Subsequence Module-2 Cormen/15.4 TRUE 1
String Matching (Naïve, Rabin Karp
22 Module-2 Cormen/32.1-32.2 TRUE 1
Algorithm – I)
23 String Matching (Rabin Karp Algorithm – II) Module-2 Cormen/32.1 TRUE 1
24 String Matching (KMP Algorithm) Module-2 Cormen/32.4 FALSE 1
Greedy algorithms, Elements of Greedy
25 Module-3 Cormen/16.1-16.2 TRUE 1
strategy
26 Activity Selection Problem with its analysis. Module-3 Cormen/16.1 TRUE 1
Fractional knapsack problem: Problem
27 definition, algorithm to solve this with its Module-3 Sahani TRUE 1
analysis
28 Huffman codes Module-3 Cormen/16.3 TRUE 1
Backtracking (n-Queen, 0/1 Knapsack, and
29 Module-3 Sahani/7,8 FALSE 1
Travelling Salesman problem)
Branch & Bound techniques (n-Queen,
30 Knapsack, and Travelling Salesman Module-3 Sahani/7, 8 FALSE 1
problem)
Data structure for disjoint sets and Disjoint
31 Module-3 Cormen/21.1 TRUE 1
set operations
Linked List representation of Disjoint set
32 Module-3 Cormen/21.2 TRUE 1
Data structure.
Disjoint sets forests representation of
33 Module-3 Cormen/21.3 TRUE 1
Disjoint set Data structure
Representation of Graph, Graph Traversing
34 Module-4 Cormen/22.1-22.2 TRUE 1
Algorithm BFS
35 Graph Traversing Algorithm DFS Module-4 Cormen/22.3 TRUE 1
Minimum Spanning Tree – Problem
36 Definition, Definitions used in the Module-4 Cormen/23.1 TRUE 1
algorithms
37 Kruskal Algorithm Module-4 Cormen/23.2 TRUE 1
38 Prim’s Algorithm Module-4 Cormen/23.2 TRUE 1
Single Source Shortest Path Problem -
39 Module-4 Cormen/24.1 TRUE 1
Bellman Ford Algorithm
Single Source Shortest Path Problem -
40 Module-4 Cormen/24.3 TRUE 1
Dijkstra Algorithm
All-Pairs Shortest Path Problem -
41 Module-4 Cormen/25.2 TRUE 1
Floyd–Warshall Algorithm
42 Maximum Flow Problem Module-5 Cormen/26.1 TRUE 1
43 Ford-Fulkerson algorithm and its analysis Module-5 Cormen/26.2 TRUE 1
44 Polynomial Time & Class P - I Module-5 Cormen/34.1 TRUE 1
45 Polynomial Time & Class P - II Module-5 Cormen/34.1 TRUE 1
46 Polynomial time verification and class NP Module-5 Cormen/34.2 TRUE 1
47 Polynomial Time reducibility Module-5 Cormen/34.2 TRUE 1
48 NP Completeness Module-5 Cormen/34.3 TRUE 1
49 Examples of NP-Complete problems Module-5 Cormen/34.3 TRUE 1
Introduction to Approximation Algorithms,
50 Module-5 Cormen/35.1 TRUE 1
Approximation Algorithm for TSP
Randomized algorithms (Max3-CNF
51 Module-5 Cormen/35.4 FALSE 1
satisfiability)

Total no. of classes :

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.

Program Outcomes Relevent to the Course:


Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals,
PO1
and an engineering specialization to the solution of complex engineering problems
Problem analysis: Identify, formulate, review research literature, and analyze complex engineering
PO2 problems reaching substantiated conclusions using first principles of mathematics, natural
sciences, and engineering sciences.
Design/development of solutions: Design solutions for complex engineering problems and design
PO3 system components or processes that meet the specified needs with appropriate consideration for
the public health and safety, and the cultural, societal, and environmental considerations.
Conduct investigations of complex problems: Use research-based knowledge and research methods
PO4 including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.
Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
PO5 engineering and IT tools including prediction and modeling to complex engineering activities with
an understanding of the limitations.
The engineer and society: Apply reasoning informed by the contextual knowledge to assess
PO6 societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the
professional engineering practice.
Environment and sustainability: Understand the impact of the professional engineering solutions in
PO7 societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable
development.
Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of
PO8
the engineering practice.
Individual and team work: Function effectively as an individual, and as a member or leader in
PO9
diverse teams, and in multidisciplinary settings.
Communication: Communicate effectively on complex engineering activities with the engineering
PO10 community and with society at large, such as, being able to comprehend and write effective reports
and design documentation, make effective presentations, and give and receive clear instructions.
Project management and finance: Demonstrate knowledge and understanding of the engineering
PO11 and management principles and apply these to one’s own work, as a member and leader in a team,
to manage projects and in multidisciplinary environments.
Life-long learning: Recognize the need for, and have the preparation and ability to engage in
PO12
independent and life-long learning in the broadest context of technological change.

Mapping of CO's to PO's: (1: Low, 2: Medium, 3: High)


PO1 PO2 PO3 PO4 PO5 PO6 PO12
CO1 3 2 1 2 2 2
CO2 3 2 3 3 2 1 1
CO3 3 3 3 3 2 1 1
CO4 3 2 3 3 2 1 1
CO5 2 2 2 3 2 1 2

You might also like