0% found this document useful (0 votes)
32 views3 pages

DAA Sylklas

The document describes a course on design and analysis of algorithms. It covers topics like asymptotic analysis, algorithm design techniques including divide and conquer, dynamic programming, greedy algorithms, and NP-hard problems. It lists course outcomes and mapping to program outcomes. It also provides the course content split into 5 modules and a list of experiential learning exercises.

Uploaded by

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

DAA Sylklas

The document describes a course on design and analysis of algorithms. It covers topics like asymptotic analysis, algorithm design techniques including divide and conquer, dynamic programming, greedy algorithms, and NP-hard problems. It lists course outcomes and mapping to program outcomes. It also provides the course content split into 5 modules and a list of experiential learning exercises.

Uploaded by

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

Program Core

Course Code Course Title L T P S C


DESIGN AND ANALYSIS OF
22CS102004 3 - 2 - 4
ALGORITHMS
Pre-Requisite -
Anti-Requisite -
Co-Requisite -

COURSE DESCRIPTION: Algorithms and asymptotic notations; Algorithm performance


analysis; Amortized analysis; Recurrences; Disjoint sets; Divide and Conquer; Dynamic
programming; Greedy algorithms; Back tracking; Branch and bound; NP-hard and NP-
complete problems.
COURSE OUTCOMES: After successful completion of the course, students will be able to:

Analyze the complexity of algorithms by applying the knowledge of asymptotic


CO1.
notations and recurrence methods.
Analyze the given problem and identify appropriate algorithm design technique for
CO2.
problem solving.
Perceive and apply different algorithm design paradigms to find solutions for
CO3.
computing problems.
Apply the knowledge of NP-hard and NP-Complete complexity classes to classify
CO4.
decision problem.

CO-PO-PSO Mapping Table:

Program Specific
Program Outcomes
Course Outcomes
Outcomes
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3 PSO4

CO1 3 - - - - - - - - - - - 3

CO2 3 2 - - - - - - - - - 3

CO3 3 2 1 - - - - - - - - - 3

CO4 3 2 - - - - - - - - - - 3
Course
Correlation 3 2 1 - - - - - - - - - 3
Mapping

Correlation Levels: 3: High; 2: Medium;1: Low


COURSE CONTENT

Module 1: INTRODUCTION TO ALGORITHMS (10 Periods)


Algorithm, Algorithm pseudocode conventions, Performance analysis - Space complexity,
Time complexity, Asymptotic notations; Amortized analysis – Aggregate analysis,
Accounting method, Potential method; Recurrences - Substitution method, Recursion-tree
method, Master method.

Module 2: DISJOINT SETS, DIVIDE AND CONQUER (08 Periods)


Disjoint Sets: Operations, Union and Find algorithms.
Divide and Conquer: General method, Defective chess board, Binary search, Finding
maximum and minimum, Merge sort, Strassen’s matrix multiplication.

Module 3 DYNAMIC PROGRAMMING (9 Periods)


General method, Matrix-chain multiplication, All pairs shortest path, Optimal binary search
trees, 0/1 Knapsack problem, Traveling salesperson problem, Flow shop scheduling.

Module 4 GREEDY METHOD, BACKTRACKING (10 Periods)


Greedy Method: General method, Knapsack problem, Job sequencing with deadlines,
Huffman codes, Single source shortest paths, Optimal merge patterns.
Backtracking: General method, 8–Queens problem, Sum of subsets, Graph coloring,
Hamiltonian cycles.

Module 5 BRANCH AND BOUND, NP-HARD AND NP-COMPLETE (08 Periods)


PROBLEMS
Branch and Bound: LC search, LC branch and bound, FIFO branch and bound, 0/1
knapsack problem, Traveling salesperson problem.
NP Hard and NP-Complete Problems: Nondeterministic algorithms, NP-hard and NP-
complete classes, Cook’s theorem, NP-hard scheduling problems – Scheduling identical
processors.
Total Periods: 45

EXPERIENTIAL LEARNING

LIST OF EXERCISES:
Sort a given set of n integer elements using Quick Sort and merge sort methods
and compute its time complexities. Run the programs for varied values of n
>1000 and record the time taken to sort. Plot a graph of the time taken versus
1. n for both algorithms. The elements can be read from a file or can be generated
using the random number generator. Demonstrate how the divide and conquer
method works along with its time complexity analysis: worst case, average case
and best case.
2. Write a program to implement knapsack problem using greedy method.

a) Write a program to find minimum cost spanning tree using Kruskal’s


3. Algorithm.

b) Write a program to find minimum cost spanning tree using Prim’s Algorithm.
Write a program to implement 0/1 Knapsack problem using Dynamic
4.
Programming method.
Write a program to implement All-Pairs Shortest Paths problem using
5.
Floyd's algorithm.

Write a program to implement Travelling Sales Person problem using


6.
Dynamic programming method.

7. Write a program to implement backtracking algorithm for the N-queens


problem.

Write a program to find a subset of a given set S = {Sl, S2,.....,Sn} of n


positive integers whose SUM is equal to a given positive integer d. For
8. example, if S ={1, 2, 5, 6, 8} and d= 9, there are two solutions
{1,2,6}and {1,8}. Display a suitable message, if the given problem
instance doesn't have a solution.
Write a program to find all Hamiltonian Cycles in a connected undirected Graph
9.
G of n vertices using backtracking principle.

RESOURCES

TEXT BOOKS:

1. Ellis Horowitz, Sartaj Sahni, and Sanguthevar Rajasekaran, Fundamentals of Computer


Algorithms, 2nd Edition, Universities Press, 2008.
2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Introduction to
Algorithms,3rd Edition, MIT Press, 2009.

REFERENCE BOOKS:

1. Michael T. Goodrich and Roberto Tamassia, Algorithm Design and Applications, Wiley,
2014.
2. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, The Design and Analysis of
Computer Algorithms, Pearson, 2006.

SOFTWARE/TOOLS:
1. Software: JDK 1.8
2. Operating System: Windows/ Linux

VIDEO LECTURES:

1. https://www.digimat.in/nptel/courses/video/106101060/L01.html

2. http://www.infocobuild.com/education/audio-video-courses/computer-science/
DesignAnalysisOfAlgorithms-IIT-Bombay/lecture-05.html
WEB RESOURCES:
1. https://www.tutorialspoint.com/design-and-analysis-of-an-algorithm/index.asp
2. https://nptel.ac.in/courses/106/106/106106131

You might also like