SEMESTER-II
Course Code : 541201 DESIGN AND ANALYSIS Credits:4 Hours:4
OF ALGORITHMS
Objectives To analyze the asymptotic performance of algorithms.
To demonstrate a familiarity with major algorithms and data structures.
To apply important algorithmic design paradigms and methods of analysis.
To get a clear idea about the various algorithm design techniques
Using the algorithms in real time applications to able to analyze the efficiency
of algorithm.
Unit I Introduction: What is Algorithm? – Fundamentals of Algorithmic problem solving
– important problem types – Fundamentals of Analysis of Algorithm efficiency –
MathematicalAnalysisofNonRecursiveAlgorithms-MathematicalAnalysis of
Recursive Algorithms – Algorithm for Computing Fibonacci Numbers – Empirical
Analysis of Algorithms.
Unit II Brute Force – Selection Sort, Bubble sort, Sequential Search – Closet-Pair and
Convex-Hull Problems-Depth first search and Breadth first search – Divide and
Conquer – Merge sort, Quick sort, Binary Search, Strassen’s matrix multiplication.
Unit III Dynamic Programming – General Method – Computing a Binomial Coefficient –
Warshall’s and Floyd’s Algorithms- Optimal Search Binary trees – Knapsack
Problem – Greedy Technique - General Method, Applications - Prim’s Algorithm,
Kruskal’s Algorithm, Dijikstra’s Algorithm.
Unit IV Decrease and Conquer–Insertion sort–Depth First Search,Breadth First Search -
Topological Sorting – Algorithm for generating Combinatorial Objects. Transform
and Conquer – Presorting – Heap and Heap sort – Problem Reduction – Computing
Least Common Multiple – Counting Paths in a Graph- Reduction of Optimization
Problem – Reduction to Graph Problems.
Unit V Back Tracking – General Method – 8 Queen’s Problem – Sum of Subsets – Graph
Colouring – Hamiltonian cycle – Branch and Bound – General Method – Assignment
Problem - Knapsack problem – Travelling Salesman Problem. P, NP and NP-
complete Problems
Reference and Text Books:
AnanyLevitin, 2012. Introduction to Design and Analysis of Algorithms, Pearson education, 3e.
Analysis of Algorithms: A Strategic Approach, McGraw-Hill
Lee.R.C.T, Shian-Shyong Tseng, Ruei-Chuan Chang, Tsai.Y.T, 2005, Introduction to the
Design and Sridhar.S,1e, Design and Analysis of Algorithms, 2014 oxford university
press.
Outcomes: Able to apply the algorithm design techniques to any of the real world
problem.
Able to write efficient algorithm for a given problem and able to analyze its
time and space complexity
To apply design and development principles in the construction of software
systems of varying complexity.
To function effectively as a member of a team in order to accomplish a
common goal.
To use current techniques, skills, and tools necessary for computing practice