# CS1201 DESIGN AND ANALYSIS OF ALGORITHMS

CS1201 DESIGN AND ANALYSIS OF ALGORITHMS

UNIT I BASIC CONCEPTS OF ALGORITHMS

Introduction – Notion of Algorithm – Fundamentals of Algorithmic Solving – Important Problem types – Fundamentals of the Analysis Framework – Asymptotic Notations and Basic Efficiency Classes.

UNIT II MATHEMATICAL ASPECTS AND ANALYSIS OF ALGORITHM

Mathematical Analysis of Non-recursive Algorithm – Mathematical Analysis of Recursive Algorithm – Example: Fibonacci Numbers – Empirical Analysis of Algorithms – Algorithm Visualization.

UNIT III ANALYSIS OF SORTING AND SEARCHING ALGORITHMS

Brute Force – Selection Sort and Bubble Sort – Sequential Search and Brute-force string matching – Divide and conquer – Merge sort – Quick Sort – Binary Search – Binary tree- Traversal and Related Properties – Decrease and Conquer – Insertion Sort – Depth first Search and Breadth First Search.

UNIT IV ALGORITHMIC TECHNIQUES

Transform and conquer – Presorting – Balanced Search trees – AVL Trees – Heaps and Heap sort – Dynamic Programming – Warshall’s and Floyd’s Algorithm – Optimal Binary Search trees – Greedy Techniques – Prim’s Algorithm – Kruskal’s Algorithm – Dijkstra’s Algorithm – Huffman trees.

UNIT V ALGORITHM DESIGN METHODS

Backtracking – n-Queen’s Problem – Hamiltonian Circuit problem – Subset-Sum problem – Branch and bound – Assignment problem – Knapsack problem – Traveling salesman problem.

TEXT BOOKS

1. Anany Levitin, “Introduction to the Design and Analysis of Algorithm”, Pearson Education Asia, 2003.

REFERENCES

1. T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, “Introduction to Algorithms”, PHI Pvt. Ltd., 2001

2. Sara Baase and Allen Van Gelder, “Computer Algorithms - Introduction to Design and Analysis”, Pearson Education Asia, 2003.

3. A.V.Aho, J.E. Hopcroft and J.D.Ullman, “The Design and Analysis Of Computer Algorithms”, Pearson Education Asia, 2003.