Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
97 views

Design & Analysis of Algorithm Code: IT501 Contact: 3L + 1T Credits: 4

This document outlines the course content and labs for Design & Analysis of Algorithms. The course covers algorithm design techniques like divide and conquer, dynamic programming, backtracking, greedy algorithms, and graph algorithms. It also covers complexity analysis, lower bounds, approximation algorithms, and NP-completeness. The accompanying labs provide hands-on practice implementing classic algorithms like binary search, matrix chain multiplication, shortest paths, 8 queens, knapsack problem, and minimum spanning trees in C language.

Uploaded by

Prasenjit Das
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views

Design & Analysis of Algorithm Code: IT501 Contact: 3L + 1T Credits: 4

This document outlines the course content and labs for Design & Analysis of Algorithms. The course covers algorithm design techniques like divide and conquer, dynamic programming, backtracking, greedy algorithms, and graph algorithms. It also covers complexity analysis, lower bounds, approximation algorithms, and NP-completeness. The accompanying labs provide hands-on practice implementing classic algorithms like binary search, matrix chain multiplication, shortest paths, 8 queens, knapsack problem, and minimum spanning trees in C language.

Uploaded by

Prasenjit Das
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 2

Design & Analysis of Algorithm Code: IT501 Contact: 3L + 1T Credits: 4 Complexity Analysis:[2L] Time and Space Complexity, Different

Asymptotic notations their mathematical significance Algortihm Design Techniques: Divide and Conquer: [3L] Basic method, use, Examples Binary Search, Merge Sort, Quick Sort and their complexity Heap Sort and its complexity [1L] Dynamic Programming: [3L] Basic method, use, Examples Matrix Chain Manipulation, All pair shortest paths, single source shortest path. Backtracking: [2L] Basic method, use, Examples 8 queens problem, Graph coloring problem. Greedy Method: [3L] Basic method, use, Examples Knapsack problem, Job sequencing with deadlines, Minimum cost spanning tree by Prims and Kruskals algorithm. Lower Bound Theory: [1L] O(nlgn) bound for comparison sort Disjoint set manipulation: [2L] Set manipulation algorithm like UNION-FIND, union by rank. Graph traversal algorithm: Recapitulation [1L] Breadth First Search(BFS) and Depth First Search(DFS) Classification of edges - tree, forward, back and cross edges complexity and comparison String matching problem: [3L] Different techniques Naive algorithm, string matching using finite automata, and Knuth, Morris, Pratt (KMP) algorithm with their complexities. Amortized Analysis: [3L] Aggregate, Accounting, and Potential Method. Network Flow: [3L] Ford Fulkerson algorithm, Max-Flow Min-Cut theorem (Statement and Illustration) Matrix Manipulation Algorithm: [3L] Strassens matrix manipulation algorithm; application of matrix multiplication to solution of simultaneous linear equations using LUP decomposition, Inversion of matrix and Boolean matrix multiplication Notion of NP-completeness: [3L] P class, NP class, NP hard class, NP complete class their interrelationship, Satisfiability problem, Cooks theorem (Statement only), Clique decision problem Approximation Algorithms: [3L] Necessity of approximation scheme, performance guarantee, polynomial time approximation schemes, vertex cover problem, travelling salesman problem. Text Book: 6. T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms 7. A. Aho, J.Hopcroft and J.Ullman The Design and Analysis of Algorithms D.E.Knuth The Art of Computer Programming, Vol. 3 Jon Kleiberg and Eva Tardos, "Algorithm Design" Reference: 11.4 K.Mehlhorn , Data Structures and Algorithms - Vol. I & Vol. 2. 11.5 S.Baase Computer Algorithms 11.6 E.Horowitz and Shani Fundamentals of Computer Algorithms 11.7 E.M.Reingold, J.Nievergelt and N.Deo- Combinational Algorithms- Theory and Practice, Prentice Hall, 1997

Design & Analysis Algorithm Lab Code: IT591 Contact: 3P Credits: 2 Programming Language used :C Lab :1 : Divide and Conquer : > Implement Binary Search using Divide and Conquer approach > Implement Merge Sort using Divide and Conquer approach Lab :2 : Divide and Conquer : > Implement Quick Sort using Divide and Conquer approach > Find Maximum and Minimum element from a array of integer using Divide and Conquer approach Lab :3 : Dynamic Programming : > Find the minimum number of scalar multiplication needed for chain of matrix Lab :4 : Dynamic Programming : >Implement all pair of Shortest path for a graph ( Floyed- Warshall Algorithm ) >Implement Traveling Salesman Problem Lab :5 : Dynamic Programming : >Implement Single Source shortest Path for a graph ( Dijkstra , Bellman Ford Algorithm ) Lab :6 : Brunch and Bound : >Implement 15 Puzzle Problem Lab :7 : Backtracking : >Implement 8 Queen problem Lab :8 : Backtracking (implement any one of the following problem): >Graph Coloring Problem >Hamiltonian Problem Lab :9 : Greedy method(implement any one of the following problem) : >Knapsack Problem >Job sequencing with deadlines Lab :10 : Greedy method (implement any one of the following problem) : >Minimum Cost Spanning Tree by Prim's Algorithm >Minimum Cost Spanning Tree by Kruskal's Algorithm Lab :11 : Graph Traversal Algorithm : >Implement Breadth First Search (BFS) >Implement Depth First Search (DFS)

You might also like