22CS401 DESIGN AND ANALYSIS OF ALGORITHMS
SEMESTER IV
PREREQUISITES: CATEGORY PC Credit 3
Data Structures and Algorithms Hours/Week L T P TH
3 0 0 3
Course Objectives:
1. Learn the algorithm analysis techniques.
2. Become familiar with the divide-and-conquer and greedy algorithm design techniques.
3. Become familiar with the dynamic programming design techniques.
4. Become familiar with the backtracking design techniques for a problem.
5. Understand the limitations of Algorithmic power.
UNIT I INTRODUCTION 9 0 0 9
The Role of Algorithms in Computing - Analysing Algorithms - Designing Algorithms. Growth of Functions: Asymptotic
Notations – Standard notations and common functions. Recurrences: The Substitution Method – The Recursion-tree Method
– The Master Method.
UNIT II DIVIDE-AND-CONQUER AND THE GREEDY METHOD 9 0 0 9
Divide and Conquer: General Method– Binary Search– Finding Maximum and Minimum – Merge Sort - Quick Sort.
Greedy Algorithms: General Method – Container Loading – Knapsack Problem – Tree Vertex Splitting - Job Sequencing
with Deadlines – Minimum-Cost Spanning Trees (Prim’s and Kruskal’s Algorithm).
UNIT III DYNAMIC PROGRAMMING 9 0 0 9
Dynamic Programming: General Method – Multistage Graphs – All-Pair Shortest Paths - Optimal Binary Search Trees –
0/1 Knapsack – Travelling Sales Person Problem.
UNIT IV BACKTRACKING 9 0 0 9
Backtracking: General Method – 8 Queens Problem – Sum of Subsets – Graph Coloring – Hamiltonian Cycles –
Knapsack problems.
UNIT V GRAPH TRAVERSALS AND BRANCH AND BOUND 9 0 0 9
Graph Traversals: Techniques for Graphs (BFS and DFS) - Connected Components and Spanning Trees – Biconnected
components.
Branch and Bound: General Methods (FIFO & LC) – 0/1 Knapsack problem – Introduction to NP-Hard and
NP-Complete Problems - Basic concepts, Cook’s Theorem.
Total(45 L)=45 Periods
Text Books:
1. T. H. Cormen, C. E. Leiserson, R.L.Rivest, and C. Stein, "Introduction to Algorithms", Second Edition, Prentice Hall
of India Pvt. Ltd, 2003.( Unit I )
2. Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran, Computer Algorithms/C++, Second Edition, Universities
Press, 2007. (Units II to V)
Reference Books:
1. Anany Levitin, “Introduction to the Design and Analysis of Algorithm”, Pearson Education Asia, Third edition,
2011.
2. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, "The Design and Analysis of Computer Algorithms", Pearson
Education, 1999.
GCE, SALEM (AUTONOMOUS) R-2022 SYLLABUS 77