Subject Details
Dept     : CSE
Sem      : 4
Regul    : 2023
Faculty : Mrs. Lavanya M
phone  : NIL
E-mail  : lavanya.m.cse@snsct.org
82
Page views
23
Files
3
Videos
4
R.Links

Icon
Syllabus

UNIT
1
INTRODUCTION

Introduction – Notion of algorithm – Fundamentals of algorithm problem solving – Important Problem types - Fundamentals of Analysis of algorithm efficiency: Analysis Framework – Asymptotic notations – Mathematical Analysis of non-recursive algorithms – Analysis of recursive algorithms: Substitution method, Recursion tree method and Master theorem Lab Practice: 1. Implement Greatest common divisor using Euclidean algorithm and Consecutive Integer checking method 2. Implement Tower of Hanoi problem using recursive and non-recursive method and analyze it

UNIT
2
BRUTE FORCE APPROACH AND DIVIDE & CONQUER

Brute force: Selection sort, Bubble sort, Sequential search, Closest pair and Convex Hull problems – Divide and conquer: Analysis of binary search, quick sort and merge sort – Multiplication of largest integers - Strassen’s matrix multiplication Lab Practice: 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.

UNIT
3
DYNAMIC PROGRAMMING AND GREEDY TECHNIQUE

Dynamic Programming: Computing a Binomial coefficient – Optimal Binary Search Tree (OBST) – 0/1 knapsack problem and memory function – Warshall’s and Floyd’s algorithm – Greedy Technique: Minimum spanning tree – Analysis of Prim’s and Kruskal algorithm – Shortest path: Analysis of Dijkstra’s algorithm – Huffman Trees Lab Practice: 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

UNIT
4
ITERATIVE IMPROVEMENT AND STRING MATCHING

Flow Networks – Ford Fulkerson method – Maximum Matching in Bipartite Graphs – String matching: Naïve String matching algorithm – Knuth Morris Pratt algorithm – Rabin karp algorithm Lab Practice 1. Implement Naive String Matching Algorithm and analyze it 2. Implement Ford Fulkerson algorithm and analyze it

UNIT
5
BACKTRACKING AND BRANCH & BOUND

Limitations of algorithm power: Lower-Bound Arguments – Decision Trees – P, NP and NP complete problems – Backtracking: n-queens problem – Hamiltonian circuit problem – Branch and bound: Assignment problem – Knapsack problem – Travelling salesman problem – Approximation Algorithms for NP–hard problems (knapsack problem) Lab Practice: 1. Implement Hamiltonian circuit problem and analyze it 2. Implement polynomial time algorithms to verify NP Complete problems

Reference Book:

R1 Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran, “Fundamentals of Computer Algorithms”, 2nd Edition, Orient Black Swan Pvt. Ltd., Hyderabad, 2018. R2 S. Sridhar, “Design and Analysis of Algorithms”, Oxford university press, 2014. R3 Narasimha Karumanchi, “Algorithm Design Techniques”, Career Monk Publications, 2018

Text Book:

T1 Anany Levitin, “Introduction to the Design and Analysis of Algorithms”, 3rd Edition, Pearson Education, New Delhi, 2015. T2 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, "Introduction to Algorithms", 3rd Edition, Prentice Hall of India, 2009