Notion of an Algorithm – Fundamentals of Algorithmic Problem Solving – Important Problem Types – Fundamentals of the Analysis of Algorithm Efficiency – Analysis Framework – Asymptotic Notations and its properties – Mathematical analysis for Recursive and Nonrecursive algorithms. List of Experiments 1. 1. Implement Greatest common divisor using Euclidean algorithm and Consecutive Integer checking method
Brute Force: Selection sort, Bubble Sort, Sequential Search, Closest-Pair and Convex-Hull Problems- Traveling Salesman Problem – Knapsack Problem - Assignment problem. Divide and conquer methodology: Merge sort – Quick sort – Binary search List of Experiments 1. Implement a sorting mechanism which exactly divides the given problem into two proper subsets during the iteration. Write the algorithm and derive the time complexity. 2. Design an algorithm to find minimum number of coins (change) for a given value and analyze it.
Dynamic Programming: Computing a Binomial Coefficient – Warshall’s and Floyd’s algorithm – Optimal Binary Search Trees – Knapsack Problem and Memory functions. Greedy Technique Prim’s algorithm- Kruskal's Algorithm - Dijkstra's Algorithm-Huffman Trees – Job Sequence Scheduling List of Experiments 1. Design an algorithm which should give an optimal solution always in finding a minimum spanning tree. Write an algorithm and derive time complexity. 2. Implement a Greedy algorithm for real world problem and analyze it
Flow Networks – Ford Fulkerson method – Maximum Matching in Bipartite Graphs – String matching: Naïve String matching algorithm – Knuth Morris Pratt algorithm – Rabin karp algorithm List of Experiments 1. Implement Naive String Matching Algorithm and analyze it 2. Implement Ford Fulkerson algorithm and analyze it
Limitations of Algorithm - Lower-Bound Arguments-Decision Trees-P, NP and NP-Complete Problems – Coping with the Limitations – Backtracking: n-Queens problem – Hamiltonian Circuit Problem – Subset Sum Problem-Branch and Bound: Assignment problem – Knapsack Problem – Traveling Salesman Problem- Approximation Algorithms for NP Hard Problems List of Experiments 1. Implement Hamiltonian circuit problem and analyze it 2. Implement polynomial time algorithms to verify NP Complete problems
Reference Book:
1 Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran, “Fundamentals of Computer Algorithms”, 2nd Edition, Orient Black Swan Pvt. Ltd., Hyderabad, 2018. 2 S. Sridhar, “Design and Analysis of Algorithms”, Oxford university press, 2014. 3 Narasimha Karumanchi, “Algorithm Design Techniques”, Career Monk Publications, 2018
Text Book:
1. Anany Levitin, “Introduction to the Design and Analysis of Algorithms”, 3rd Edition, Pearson Education, New Delhi, 2015. 2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, "Introduction to Algorithms", 3rd Edition, Prentice 0048all of India, 2009