Syllabus CSF302
Syllabus CSF302
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
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
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