# Design and Analysis of Algorithm

FISAT

Course Objectives

I. To familiarize with algorithm design strategies.
II. To learn to analyse and measure the performance of algorithms

Expected Outcome

1. Given a problem, the student will be able to design algorithms.
II. Given an algorithm, he/she will be able to analyse it and produce an estimate of its time and space requirements.

References

1. A. Levitin, “Introduction to the Design and Analysis of Algorithms”, Pearson Education, 3rd Edition (2008).
2. Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran, “Fundamentals of Computer Algorithms”, Orient Longman, Universities Press, 2nd Edition (2008)
3. Harsh Bhasin, “Algorithms Design and Analysis”, Oxford University Press, 1st Edition (2015).
4. Rajesh K.Shukla, “Analysis and Design of Algorithms, A Beginner’s Approach”, Wiley (2015)
5. Richard Neapolitan , Kumarss Naimipour, “Foundations Of Algorithms “,Jones and Bartlett Publishers, Inc, 4th Edition (2011).
6. Sara Baase , Allen Van Gelder , “Computer Algorithms: Introduction to Design and Analysis”, Pearson India, 3rd Edition (2002).
7. Thomas H. Cormen, et al., “Introduction to Algorithms”, Prentice Hall, 3rd Edition (2010)

Module I: Introduction to Algorithm Analysis :
Algorithm and its properties - Apriory and Aposterior analysis of algorithms - Time and Space Complexity- Elementary Operation and Complexity Estimation of Simple Algorithms - Asymptotic notations and their properties - Common Complexity functions - Recurrence Relations - Solution of Recurrence Relations - Iteration Method - Recurrence Tree Method - Master's Theorem (Proof not required)

Module II: Divide and Conquer Method :
Control Abstraction for Divide and Conquer- 2- way Merge Sort , Quick sort, Binary Search, Finding Maximum and minimum, Divide and Conquer Matrix Multiplication.

ModuleIII: Greedy Strategy: -
Control Abstraction for Greedy Strategy - The Fractional Knapsack Problem - Prims' and Kruskal's Algorithms for Minimal Spanning Tree - Job Sequencing Problem.

Module IV: Dynamic Programming :
Control Abstraction for Dynamic Programming - The Principle of Optimal Substructure - All Pair Shortest Path Problem - Travelling Sales Person Problem, Divide and Conquer vs Dynamic Programming.

Module V: Algorithm Design by State Space Trees: State Space - Bounding Functions – Examples. Backtracking: Control Abstraction for Backtracking - The NQueen's Problem, Sum of Subset Problem. Branch and Bound: Depth First, Breadth First and Best First Branch and Bound strategies and their control abstractions - The N2-1 Puzzle Problem

Module VI: Introduction to Computational Complexity:
Tractable and Intractable Problems - Complexity Classes- P and NP Classes - SAT and 3-SAT Problems - NP-Hard and NP-Complete Classes – Study of NP complete problems - Travelling Sales Person Problem - Knapsack Problem - Clique Problem, Vertex Cover Problem.

Data Structures

## Course Staff

### SHAHNA K U Asst. Professor(Spl.Grade)

She received her MCA degree from MES College, Marampally Under MG University , Kottayam. She has over 14 years of teaching experience and has been associated with FISAT since 2008. Her earlier teaching experience was at MES College, Marampally and Depaul Institute of Science and Technology (DIST). She is currently pursuing Ph.D in Mahatma Gandhi University. Published many research articles in SCI/ Scopus indexed journals (Elsevier, Springer, IEEE). Her research area includes Cryptography, Image Security and Image Processing.

### What web browser should I use?

The Open edX platform works best with current versions of Chrome, Edge, Firefox, Internet Explorer, or Safari.

See our list of supported browsers for the most up-to-date information.