Subject Details
Dept     : IT
Sem      : 4
Regul    : 2019
Faculty : Ms.T.Shanmugapriya
phone  : NIL
E-mail  : priyamoons@gmail.com
596
Page views
35
Files
10
Videos
0
R.Links

Icon
Syllabus

UNIT
1
INTRODUCTION

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. Lab Practice 1.Implement GCD using Euclidian algorithm 2.Implement Towers of Hanoi problem and analyze it

UNIT
2
BRUTE FORCE AND DIVIDE & CONQUER

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 – Multiplication of Large Integers – Strassen’s Matrix Multiplication Lab Practice 1.Find the sorting mechanism which uses the pivot value as the key component to sort all the values. Write algorithm and derive the time complexity. Sort the following using the same method:45, 67,12,34,09 2. Find the sorting mechanism which exactly divides the given problem into two proper subsets during the iteration. Write the algorithm and derive the time complexity. Sort the following using the same method. 45,67,12,34,09 3. Design an algorithm which always reduces the searching process by half based on the root node value in the constructed tree. Write the algorithm and time complexity. Construct the tree for applying the above algorithm using the same properties:55,63,31,17,22,40, 67,83

UNIT
3
DYNAMIC PROGRAMMING AND GREEDY TECHNIQUE

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 Lab Practice 1.Design an algorithm which should give an optimal solution always in finding minimum spanning tree. Write an algorithm and time complexity. 2. User wants to send his data in secured manner from one place to another place through communication channel. His encoding mechanism should support variable length encoding mechanism. Design an algorithm for this situation to solve the user problem and write the time complexity. 3. User wants to find shortest path between all the vertices. Give solution to the user using dynamic programming methodology, Write an algorithm and time complexity.

UNIT
4
FLOW NETWORKS AND STRING MATCHING

Flow Networks-Ford Fulkerson Method-String Matching-Naive String Matching Algorithm-Knuth Morris Pratt Algorithm-Analysis Lab Practice 1.Implement Naive String Matching Algorithm 2.Implement ford Fulkerson algorithm

UNIT
5
BACKTRACKING AND BRANCH & BOUND

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 Lab Practice 1. Implement knapsack problem using branch and bound. 2. Implement any scheme to find the optimal solution for the Traveling Sales Person problem and then solve the same problem instance using any approximation algorithm and determine the error in the approximation. 3. Design and implement in Java to find a subset of a given set S = {Sl, S2,....., Sn} of n positive integers whose SUM is equal to a given positive integer d. For example, if S={1, 2, 5, 6, 8} and d= 9, there are two solutions {1,2,6}and {1,8}. Display a suitable message, if the given problem instance doesn't have a solution.

Reference Book:

Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest and Clifford Stein, “Introduction to Algorithms”, PHI Learning Private Limited, 3rd Edition, 2012. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, “Data Structures and Algorithms”, Pearson Education, 2nd Edition, 2007. Donald E. Knuth, “The Art of Computer Programming”, Pearson Education, 2nd Edition , 2009 Steven S. Skiena, “The Algorithm Design Manual”, Springer, 2nd Edition, 2008 Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest and Clifford Stein, “Introduction to Algorithms”, PHI Learning Private Limited, 3rd Edition, 2012.

Text Book:

Anany Levitin, “Introduction to the Design and Analysis of Algorithms”, Pearson Education, 3rd Edition, 2014. Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest and Clifford Stein, “Introduction to Algorithms”, PHI Learning Private Limited, 3rd Edition, 2012.

 

Print    Download