RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL
New Scheme Based On AICTE Flexible Curricula
Computer Science and Engineering, IV-Semester
CS402 Analysis Design of Algorithm
Algorithms, Designing algorithms, analyzing algorithms, asymptotic notations, heap and
heap sort. Introduction to divide and conquer technique, analysis, design and comparison of
various algorithms based on this technique, example binary search, merge sort, quick sort,
strassen’s matrix multiplication.
Study of Greedy strategy, examples of greedy method like optimal merge patterns, Huffman
coding, minimum spanning trees, knapsack problem, job sequencing with deadlines, single
source shortest path algorithm
Concept of dynamic programming, problems based on this approach such as 0/1 knapsack,
multistage graph, reliability design, Floyd-Warshall algorithm
Backtracking concept and its examples like 8 queen’s problem, Hamiltonian cycle, Graph
coloring problem etc. Introduction to branch & bound method, examples of branch and
bound method like traveling salesman problem etc. Meaning of lower bound theory and its
use in solving algebraic problem, introduction to parallel algorithms.
Binary search trees, height balanced trees, 2-3 trees, B-trees, basic search and traversal
techniques for trees and graphs (In order, preorder, postorder, DFS, BFS), NP-completeness.
References:
1. Coremen Thomas, Leiserson CE, Rivest RL; Introduction to Algorithms; PHI.
2. Horowitz & Sahani; Analysis & Design of Algorithm
3. Dasgupta; algorithms; TMH
4. Ullmann; Analysis & Design of Algorithm;
5. Michael T Goodrich, Robarto Tamassia, Algorithm Design, Wiely India
6. Rajesh K Shukla: Analysis and Design of Algorithms: A Beginner's Approach; Wiley
List of Experiments( expandable):
1. Write a program for Iterative and Recursive Binary Search.
2. Write a program for Merge Sort.
3. Write a program for Quick Sort.
4. Write a program for Strassen’s Matrix Multiplication.
5. Write a program for optimal merge patterns.
6. Write a program for Huffman coding.
7. Write a program for minimum spanning trees using Kruskal’s algorithm.
8. Write a program for minimum spanning trees using Prim’s algorithm.
9. Write a program for single sources shortest path algorithm.
10. Write a program for Floye-Warshal algorithm.
11. Write a program for traveling salesman problem.
12. Write a program for Hamiltonian cycle problem.