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

Syllabus CSF302

This document describes a course on Design and Analysis of Algorithms offered by the Computer Science and Engineering department. The 3 credit course introduces techniques for analyzing time and space complexity of algorithms and designing algorithms using approaches like divide and conquer, greedy methods, dynamic programming, backtracking, and branch and bound. Topics covered include sorting algorithms, recurrence relations, NP-hard and NP-complete problems. The course objectives are to introduce algorithm analysis and design techniques and understand algorithms for searching, sorting, and indexing operations.

Uploaded by

Raghav goel
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)
37 views

Syllabus CSF302

This document describes a course on Design and Analysis of Algorithms offered by the Computer Science and Engineering department. The 3 credit course introduces techniques for analyzing time and space complexity of algorithms and designing algorithms using approaches like divide and conquer, greedy methods, dynamic programming, backtracking, and branch and bound. Topics covered include sorting algorithms, recurrence relations, NP-hard and NP-complete problems. The course objectives are to introduce algorithm analysis and design techniques and understand algorithms for searching, sorting, and indexing operations.

Uploaded by

Raghav goel
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/ 2

1.

Department offering the course Computer Science and Engineering


2. Course Code CSF302
3. Course Title Design and Analysis of Algorithms
4. Credits (L:T:P:C) 3:0:1:4
5. Contact Hours (L:T:P) 3:0:2
6. Prerequisites (if any) Data Structures
7. Course Basket Discipline Core

COURSE SUMMARY
Comprehensive introduction to the study of computer algorithms with its analysis (time and space
complexity). Study of various techniques (Divide & Conquer, Greedy, Dynamic Programming,
Backtracking, and Branch & Bound) to design an algorithm. Introduction of the problems that comes
under category of P and NP.

COURSE OBJECTIVES
This course aims to provide the knowledge and understanding the complexity issues of algorithms
1. To introduce algorithms analysis and design techniques
2. To understand and design of algorithms used for searching, sorting, indexing operation.

COURSE OUTCOMES
CO1. Analyzing complexity issues of algorithms
CO2. Ability in using the appropriate algorithm for searching, sorting, indexing operations
CO3. Designing of new algorithms
CO4. Student will be able to learn NP Class problems.

CURRICULUM CONTENT
Unit-I (6 L)
Introduction: Algorithms, Performance Analysis: Space and Time Complexity, Asymptotic Notations-
Big Oh, Omega, theta notations, finding complexity of the algorithm, Sorting: Insertion sort, Bubble
sort, selection sort, count sort.

Unit II (8 L)
Recurrence relation and its solution (substitution, recurrence tree and master method).
Divide and Conquer: General method, binary search, quick sort, merge sort, heap sort

Unit III (8 L)
Greedy Method: General method, Activity Selection, job scheduling with deadlines, fractional knapsack

Unit IV (9 L)
Dynamic Programming: General Method, 0-1 Knapsack, Matrix chain multiplication, longest
subsequence, all pair shortest paths,
Backtracking- Travelling Salesman Problem, Graph Coloring, n-Queen Problem, Hamiltonian Cycles
and Sum of subsets.

Unit V (6 L)
Branch and Bound: Travelling Salesman Problem

Approved by the Academic Council at its 14th Meeting held on 22.04.2020


NP-Hard and NP-Complete problems: Basic Concepts, non-deterministic algorithms, NP-Hard and NP-
Complete classes.

TEXT BOOKS:
1. Ellis Horowitz, SatrajSahni and Rajasekharam, Fundamentals of Computer Algorithms, Universities
Press; Second edition (2008).
2.
3rd edition ( 2009).
3.
2nd edition (2008).
4. M.T.Goodrich and R.Tomassia, Algorithm Design: Foundations, Analysis and Internet examples,
John Wiley & Sons; 1st edition (2001)

REFERENCE BOOKS:
1. R.C.T.Lee, S.S.Tseng, R.C.Chang and T.Tsai, Introduction to Design and Analysis of Algorithms A
strategic approach, McGraw-Hill Education (Asia) ,2005
2. Aho, Ullman and Hopcroft ,Design and Analysis of algorithms, Pearson Education India; 1st edition
2002

TEACHING AND LEARNING STRATEGY


All materials (ppts, assignments, labs, etc.) will be uploaded in Moodle. Refer to your course in Moodle
for details.

List of Experiments
S.NO. EXPERIMENT NAME
1 Program in C to Implement Insertion sort, selection sort
2 Program in C to Implement Quick Sort
3 Program in C to Implement Merge Sort
4 Program in C to Implement Binary Searching, Heap sort
5 Program in C to Implement Activity Selection problem
6 Program in C to Implement job scheduling with deadlines
7 Program in C to Implement fractional knapsack problem
8 Program in C to Implement single source shortest path (Dijkstra Algorithm)
9 Program in C to Implement 0-1 Knapsack problem using Dynamic Programming
10 Program in C to Implement all pair shortest path

Approved by the Academic Council at its 14th Meeting held on 22.04.2020

You might also like