0% found this document useful (0 votes)
27 views5 pages

Course Information File (Design and Analysis of Algorithms)

Cif

Uploaded by

pratikgarg9480
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)
27 views5 pages

Course Information File (Design and Analysis of Algorithms)

Cif

Uploaded by

pratikgarg9480
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/ 5

LNMIIT, Jaipur

Department of Computer Science & Engineering

Programme: Course Title: Course Code:


B. Tech. (CSE, CCE) Design and Analysis of Algorithms CSE325
Type of Course: Pro- Prerequisites: Total Contact Hours:
gram Core Data Structures and Algorithms 40 +20
Year/Semester: Lecture Tutorial Hrs/Week: Practical Hrs/Week: Credits:
Hrs/Week:
2/Odd 0 2 4
3

Learning Objective:

The objective of this course is to introduce the notion of algorithm, how to describe an algorithm
and model of computation for which an algorithm for a problem is to be designed. Time and space
complexities will be introduced to express the resource needed by an algorithm and to compare
different algorithms for a problem and to classify an algorithm as efficient or non-efficient. Algo-
rithm design paradigms such as Divide and Conquer, Greedy and Dynamic programming will be
introduced that will enable a student to apply one of the paradigms to design algorithm for a given
problem. The last part of the course will introduce the notion of NP-completeness to capture the
hardness of a problem and will show several fundamental problems in Computer Science and en-
gineering to be NP-complete.

Course outcomes (COs):


On completion of this course, the students will have the ability to: Bloom’s Level
CO-1 Analyze the complexity of algorithms in terms of asymptotic notations 3
and implement the algorithms
CO-2 Perform Analysis of important algorithmic design paradigms and imple- 4
ment one algorithm designed using each paradigm
CO-3 Design efficient algorithmic solutions to graph related problems 6
and implement them
CO-4 Understand the concept of Computational Intractability 2

Course Topics Lecture CO Map-


Hours ping
UNIT – I (Introduction) 14

1.1 What is algorithm? How to describe an algorithm? Why analyze al- 1 CO1
gorithms? RAM Model of Computation.

CSE Department, LNMIIT Jaipur Page | 1-3


LNMIIT, Jaipur
Department of Computer Science & Engineering

1.2 Asymptotic notation: Definitions of big-Oh, big-Omega, big-Theta, small- 2


oh and problem solving
1.3 Recurrence relations: iterative method, substitution method, recursion-tree
3
method, Master method with problem solving
1.4 Sorting Algorithms: Bubble sort, Insertion sort, and Selection sort with complexity 3
analysis and proof of correctness
1.5 Lower bound of sorting, Counting Sort, Radix Sort, Bucket Sort with complexity 3
analysis and proof of correctness
1.6 Concepts of Graph: Graph Representation, Applications of graphs, Hand-Shaking 2
Lemma, Different Graph types like connected, strongly connected, etc.

UNIT – II (Design Paradigm) 13


2.1 Divide and Conquer: Stassen’s Matrix Multiplication, Merge Sort, Quick
Sort; Complexity Analysis and proof of Correctness of all the algorithms.
3
2.2 Greedy Algorithms: Huffman Coding, Fractional Knapsack, Kruskal’s CO2
4
Algorithm, Prim’s Algorithm and its implementation using heap data structure.
Complexity Analysis and Correctness proof of all the algorithms.
2.3 Dynamic Programming: Introduction to Dynamic Programming; Top
4
down versus Bottom Up approach of Problem solving; Computing Fibonacci
Number; Matix Chain Multiplication Algorithms; Longest Common subse-
quence, Complexity Analysis and proof of Correctness of all the algorithms
2.4 Backtracking: 8 Queen problem with complexity analysis and Correct-
1
ness proof.
2.5 Branch and Bound: 0/1 Knapsack problem with complexity Analysis and
1
Correctness proof.

UNIT-III (Graph Algorithms) 7


3.1 Breadth First Search (BFS): BFS Algorithm, BFS edge classification
for directed and undirected graphs, Applications of BFS: Shortest Path on
un-weighted graph, testing bipartiteness 2
3.2 Depth First Search (DFS): DFS Algorithm, DFS edge classification for di-
rected and undirected graphs, Application of DFS like Topological Sort, Cycle 2 CO3
Detection.
3.3 Shortest Path Algorithms: Dijkstra’s Single source Algorithm; All pair 3
Shortest paths: Floyd-Warshall and Bellman Ford;

CSE Department, LNMIIT Jaipur Page | 2-3


LNMIIT, Jaipur
Department of Computer Science & Engineering

UNIT-IV (NP-Completeness and Computational Intractability) 6


4.1 Optimization and Decision Problems, D e c i s i o n P r o b l e m s : Boolean
Satisfiability Problem, Hamiltonian Cycle, Independent Set, Clique, Vertex 3
Cover, and Vertex Cover; Definitions of P and NP; Karp and Cook reduction; CO4
4.2 NP-complete and NP-hard; Cook-Levin Theorem; Tractability and In- 3
tractability problems; Proving NP-completeness of Clique Decision Problem.
Independent Set Decision Problem, Vertex Cover Decision Problem;
Design and Analysis of Algorithm Lab (20 Hrs.)
Lab Description of problem Co map- Hours
No ping
1 Compute the nth Fibonacci Number using recursive and non-recursive CO 1 2
program and compute the time taken by each program using time ()
function and estimate the time complexity
2 Implementations of Sorting Algorithms: Bubble sort, Insertion sort, and CO 1 2
Selection sort and compare the running time
3 Implementations of Counting Sort, Radix Sort, and Bucket Sort, Merge CO 1, 2
Sort, and Quick Sort CO 2
4-5 Implementation of Kruskal’s Algorithm using Union Find Data struc- CO 2 4
tures
6-7 Implementation of Prim’s Algorithm and its implementation using CO 2 4
heap data structure
8 Implementation of Dynamic programming-based algorithm for Long- CO 2 2
est Common subsequence
9 Implementation of backtracking algorithm to find all possible solu- CO 2 2
tions of 8 Queen problem
10 Implementation of (i) DFS based algorithm to test connectedness of a CO 3 2
graph and testing acyclicity of a graph
(ii) BFS based algorithm to test whether a graph is bipartite or not

Textbook References:
Text Book:
1. Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L. and Stein, Clifford. Introduction to Al-
gorithms. 4th Edition: The MIT Press, 2001.

Reference books:
1. Ellis Horowitz, Sartaj Sahani, Sanguthevar Rajasekaran. Fundamental of Computer Algo-
CSE Department, LNMIIT Jaipur Page | 3-3
LNMIIT, Jaipur
Department of Computer Science & Engineering

rithm. 1st Edition: University Press, 2008.


2. Skiena Steven, S. The algorithm design manual, 2008
3. Kleinberg, J., & Tardos, É. Algorithm design. 1st Edition: Pearson Education India, 2006

Additional Resources:
1. [Link]
analysis-of-algorithms-spring-2015/
2. [Link]
to-algorithms-fall-2011/
3. [Link]
4. [Link]/courses/106/101/106101060/

Evaluation Method
Item Weightage (%)
Assignments (Theory) 3x3=9
Midterm (Theory) 26
Practical Lab 5 (attendance) + 8 (mid-term) + 12 (end-term) = 25
End Term (Theory) 40

*Please note, as per the existing institute’s attendance policy the student should have a minimum of 75%
attendance. Students who fail to attend a minimum of 75% lectures will be debarred from the End Term/Fi-
nal/Comprehensive examination.

CSE Department, LNMIIT Jaipur Page | 4-3


LNMIIT, Jaipur
Department of Computer Science & Engineering

CO and PO Correlation Matrix (For CSE)

CO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
CO1 1 1 1 3 3 3 2
CO2 1 1 3 1 3 3 3 3 2 2
CO3 3 3 3 1 3 3 3 3 2 2
CO4 3 3 3 3 3 3 3 3 3

CO and PO Correlation Matrix (For Others)

CO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 1 1 1 3 3 3
CO2 1 1 3 1 3 3 3
CO3 1 1 3 1 3 3 3
CO4 3 3 3 3 3 3

Last Updated On:

Updated By:

Approved By:

CSE Department, LNMIIT Jaipur Page | 5-3

You might also like