Page 33 - B.E CSE Curriculum and Syllabus R2017 - REC
P. 33
Department of CSE, REC
CS17301 DESIGN AND ANALYSIS OF ALGORITHMS L T P C
3 0 0 3
OBJECTIVES:
● To learn the basic ideas of algorithm and analysis techniques.
● To understand the behaviour of various computer algorithms.
● To become familiar with the different algorithm design techniques.
● To learn to apply the design techniques in solving various kinds of problems.
● To understand the limitations of Algorithm power.
UNIT I ANALYSIS OF ALGORITHMS 9
Introduction - Algorithm Specification - Performance Analysis: Space Complexity - Time Complexity -
Asymptotic Notations - Practical Complexities - Solving Recurrence Relations.
UNIT II BRUTE FORCE AND DIVIDE-AND-CONQUER 9
Brute Force: Exhaustive Search - Travelling Salesman Problem - Knapsack Problem - Assignment problem -
Divide and Conquer: General Method - Binary search - Finding Minimum and Maximum Problem - Merge
sort - Quick sort - Strassen’s Matrix Multiplication.
UNIT III GREEDY TECHNIQUE AND DYNAMIC PROGRAMMING 9
Greedy: General Method - Container Loading - Knapsack - Huffman Codes - Dynamic Programming: General
Method - OBST - String Editing - 0/1 Knapsack - Travelling Salesman Problem.
UNIT IV BACKTRACKING AND BRANCH & BOUND 9
Backtracking: General Method - 8 Queen's Problem - Sum of Subsets Problem - Graph Colouring -
Hamiltonian Circuit Problem - Branch and Bound: FIFO - LC branch and bound - 0/1 Knapsack - Travelling
Salesman Problem - Assignment Problem.
UNIT V STRING MATCHING AND NP COMPLETE & NP HARD PROBLEMS 9
String Matching: Naive String Matching - Rabin Karp - Knuth Morris Pratt - NP Hard and NP Complete
Problems: Basic Concepts - Non Deterministic Algorithms - Class of NP Hard and NP Complete -
Approximation for NP Hard Problems: Travelling Salesman problem.
TOTAL: 45 PERIODS
OUTCOMES:
On successful completion of this course, the student will be able to:
● Prove the correctness and analyze the running time of the basic algorithms for those classic problems
in various domains.
● Analyze the time and space complexity of various algorithms.
● Ability to compare algorithms with respect to complexities.
● Apply design strategies and Synthesize algorithms for various computing problems.
● Modify existing algorithms to improve efficiency.
TEXT BOOKS:
1. Ellis Horowitz, Shani, Sanguthevar Rajasekaran, Computer Algorithms / C++ Universities Press,
Second Edition 2008.
2. AnanyLevitin, Introduction to the Design and Analysis of Algorithms, Third Edition, Pearson
Education, 2012.
REFERENCES:
1. Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest and Clifford Stein, Introduction to
Algorithms, Third Edition, PHI Learning Private Limited, 2012.
2. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, Data Structures and Algorithms, Pearson
Education, Reprint 2006.
3. Donald E. Knuth, The Art of Computer Programming, Volumes 1& 3 Pearson Education, 2009.
Curriculum and Syllabus | B.E. Computer Science and Engineering | R2017 Page 33

