0% found this document useful (0 votes)
5 views

Design and Analysis of Algorithms

The document outlines a course on Digraphs and the Design and Analysis of Algorithms, detailing various graph types, algorithm strategies, and their applications. It includes course objectives, outcomes, suggested learning resources, and a structured module breakdown over 40 contact hours. Additionally, it emphasizes practical learning through programming assignments and real-world problem-solving activities.

Uploaded by

nidhi sinha
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)
5 views

Design and Analysis of Algorithms

The document outlines a course on Digraphs and the Design and Analysis of Algorithms, detailing various graph types, algorithm strategies, and their applications. It includes course objectives, outcomes, suggested learning resources, and a structured module breakdown over 40 contact hours. Additionally, it emphasizes practical learning through programming assignments and real-world problem-solving activities.

Uploaded by

nidhi sinha
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/ 6

Digraphs -Types of graphs and binary relation.

RBT Levels
Module-5 8 Hours
L1,L2,L3
Trees:
Rooted Trees, Binary trees, counting Trees and Spanning trees. Pendant vertices in a tree.
Connectivity Graphs: Vertex connectivity, Edge connectivity, cut set and cut vertices, Fundamental
circuits.
Suggested Learning Resources:
Textbooks:
Narsingh Deo, Graph theory with the applications to engineering & Computer Science,
1
Dovers Publications, 2016.
J.A. Bondy and U.S.R. Murty. Graph theory with Applications, Springer, 1st edition,
2
2008.
Ralph P. Grimaldi-Discrete and Combinatorial Mathematics, Addision Wesley
3
Publishing company, 2006.

Reference Books:

R. Diestel, Graph Theory, free online edition, 2016: diestel-graph-


1
theory.com/basic.html.

Kenneth H. Rosen and Kamala Krithivasn- Discrete Mathematics and Its Applications, Mc
2
graw Hill publication, 2021.

3 Robin J. Wilson, Introduction to Graph Theory, Longman Group Ltd.,2010

Web links and Video Lectures (e-Resources):


M1: https://youtu.be/-peAUmrm4RM
M2: https://youtu.be/utBfKsYUwe8
M3: https://youtu.be/tORLeHHtazM
M4: https://youtu.be/V8F8We_-nuo?list=PLhSp9OSVmeyLB62_-fT9VNbjRkDEzJzzp
M5: https://youtu.be/qNqrHO3woyE
Activity-Based Learning (Suggested Activities in Class)/ Practical Based learning
Quiz, Group Discussions, Seminar, In class assignments

Course outcomes: At the end of the course students will be able to


Apply the basic concepts of relations, functions and partially ordered sets for computer
CO1
representations
Illustrate the fundamental principles of Algebraic structures with the problems related to
CO2
computer science & engineering.
CO3 Apply concepts of trees and graph connectivity to solve real world problems.
CO4 Solve the problems involving characterization and operations on graphs.
CO5 Apply concepts of trees and graph connectivity to solve real world problems.

[Type here]
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 2 2 2 2
CO2 2 2 2 2
CO3 2 2 2 2
CO4 2 2 2 2
CO5 2 2 2 2

High-3, Medium-2, Low-1

[Type here]
Design and
Course Title Analysis of Semester IV
Algorithms
Course Code CS252 CIE 50
Total No. of Contact Hours 40 SEE 50
No. of Contact Hours/week 2:2:0:1.5 Total 100
Credits 3 Exam. Duration 3 Hours
Teaching Dept CSE/ISE

Course objective is to:


1. Enable students to learn the methods for analysing algorithms and evaluating
their performance.
2. Enable students to demonstrate the efficiency of algorithms.
3. Prepare students to solve problems using various algorithm design methods
4. Appreciate the concepts of P and NP complexity classes.
PREREQUISITES : This course requires that the students are familiar with programming language
and Data Structures and Applications. Graph Theory is desirable
Module-1: Introduction and Overview RBT Levels: L1,L2,L3 8 Hours
Introduction and Examples: What is an Algorithm? Algorithm Specification, Examples from real life:
Air Travel, Xerox Shop, Document Similarity and types of algorithms.
Motivation for Performance Analysis using Examples: Bubble Sort, Selection Sort, Insertion Sort,
String Pattern Matching. Contrast performance analysis versus actual runs.
Performance Analysis Framework: Space complexity, Time complexity. Asymptotic Notations: Big-
Oh notation (O), Omega notation (Ω), Theta not -
recursive and recursive Algorithms with Examples.
Text Book 1: Chapter 1.1,2.1-2.4,3.1,3.2 Digital Resource: D1
Module-2: Decrease and Conquer, Divide and Conquer,
RBT Levels: L1,L2,L3 8 Hours
Greedy Method
Decrease and Conquer Approach: Insertion sort, Topological Sort.
Divide and Conquer: General method, Recurrence equation for divide and conquer, Finding the
maximum and minimum. Merge sort, Quick sort
Greedy Method: General method, Knapsack Problem, Job sequencing with deadlines,
Text book 1: Chapter 4.1,4.2,5.1,5.2,6.4 Text book 2:4.1,4.3,4.5
Module-3: Greedy Method, Transform and Conquer, Dynamic
RBT Levels:L1,L2,L3 8 Hours
Programming
Minimum cost spanning trees: Prim‟s Algorithm, Kruskal‟s Algorithm, union find method
Single source shortest paths: Dijkstra's Algorithm. Optimal Tree problem: Huffman Trees and Codes.
Transform and Conquer Approach: Heaps and Heap Sort.
Dynamic Programming: General method with Examples, Transitive Closure: Warshall‟s Algorithm,
All Pairs Shortest Paths: Floyd's Algorithm

[Type here]
Text book 1: 9.1,9.2,9.3,9.4,8.1,8.4

Module-4: Dynamic Programming, Backtracking RBT Levels:L1,L2,L3 8 Hours

Dynamic Programming (cont…): Multistage Graphs, Travelling Sales Person problem, Knapsack
problem, Bellman-Ford Algorithm, Backtracking: General method, N-Queens problem, Sum of
subsets problem, Hamiltonian cycles.
Text book 1: 8.2,12.1 text book 2: 5.2, 5.4, 5.9

Module-5: Space and Time Trade-offs, Branch and Bound and


RBT Levels:L1,L2,L3 8 Hours
Case Studies
Counting Sort Branch and Bound: Assignment Problem, Travelling Salesperson problem, 0/1
Knapsack
NP-Complete and NP-Hard Problems concept.

Case Studies: Efficient Route calculation application in GPS navigation system: The navigation system
calculates the optimal route from the user's current location to the destination. This calculation
considers factors such as distance, estimated travel time, traffic conditions.
Summarization of all modules.
Text book 1: 7.1, 12.2, 12.3
Follow on Courses: Advanced Algorithms, Machine Learning
Resources for Advanced Learners:

1. Data Structures and Algorithms Made Easy – Data Structures & Algorithmic Puzzles Author:
Narasimha Karumanchi (M.Tech IIT Bombay, Founder- CareerMonk.com) 5 th Edition

2. Algorithms - Sanjoy Dasgupta, Christos H. Papadimitriou, and Umesh V. Vazirani published


by Mc Graw Hill

Suggested Learning Resources:


Textbooks:
1. Introduction to the Design and Analysis of Algorithms, Anany Levitin:, 2rd Edition, 2009.
Pearson.
2. Computer Algorithms/C++, Ellis Horowitz, Satraj Sahni and Rajasekaran, 2nd Edition, 2014,
Universities Press
Reference Books:
Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronal L. Rivest,
1.
Clifford Stein, 3rd Edition, PHI.
2. Design and Analysis of Algorithms, S. Sridhar, Oxford (Higher Education).
Web links and Video Lectures (e-Resources):

1. Design and Analysis of Algorithms course by Madhavan Mukund

[Type here]
Activity-Based Learning (Suggested Activities in Class)/ Practical Based learning
1. Real world problem solving and puzzles using group discussion. E.g., Fake coin
identification,Peasant, wolf, goat, cabbage puzzle, Konigsberg bridge puzzle etc.,

2. Demonstration of solution to a problem through programming.

Course outcomes:
Apply asymptotic notational method to analyse the performance of the algorithms in terms
CO1 of
time complexity
Demonstrate divide & conquer approaches and decrease & conquer approaches to
CO2 solve
computational problems
Use transform & conquer and dynamic programming methodologies to solve the given real
CO3
world computational problems
Explain various classes (P, NP and NP Complete) of problems and demonstrate backtracking,
CO4
branch & bound and approximation methods.
CO5 Apply appropriate algorithm design strategies to a given case study/use case.

CO-PO Mapping
CO/ PO1 PO PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
PO 2
CO1 3 3 3 3 - - - - 1 1 - - 3 - -
CO2 3 3 3 3 - - - - 1 1 - - 3 - -
CO3 3 3 3 3 - - - - 1 1 - - 3 - -
CO4 3 3 3 3 - - - - 1 1 - - 3 - -
CO5 3 3 3 3 - - - - 1 1 - - 3 - -

High-3, Medium-2, Low-1

[Type here]
Design & Analysis of Algorithms Laboratory
Course Code CS253 Semester IV
L:T:P:S 0:0:2:1 CIE Marks 50
Hrs. / Week 2 SEE Marks 50
Credits 1 Total Marks 100
Exam Hours 03

Course objectives : This laboratory course enables students to


1. Train students to design and implement various algorithms in JAVA/C/C++
2. Assist students to employ various design strategies for problem solving.
3. Enable students to measure and compare the performance of different algorithms.

Pgm. List of Experiments / Programs Hours COs


No.
Prerequisite Experiments / Programs / Demo
This course requires that the students are familiar with programming language and Data Structures &
Applications. Graph Theory is desirable.
PART-A
1 Title: Program that uses simple technique to a) search a key b) to 2 CO1,CO3
sort n elements

Problem Description: Run the program for varied values of


n>5000 and record the time taken to search/sort. Plot a graph of
the time taken v/s n. The elements can be read from a file or can
be generated using the random number generator.

Method: A Brute Force- Non recursive algorithm


implementation. Sequential Search and Selection Sort.

Theory Reference: Module 1


2 Title: Sorting elements based on their value. 2 CO1,CO3

Problem Description: Run the program for varied values of n to


demonstrate the behaviour of the algorithm in the Worst,
Bestand Average Cases. Record the time taken to sort. Plot a
graph of the time taken versus n on graph sheet. The elements
can be

read from a file or can be generated using the random number


generator for large values of n.

Method: A Divide & Conquer approach partitioning the dataset


on a pivot- Recursive algorithm implementation.
Theory Reference: Module 2

57

You might also like