This document summarizes a course on the design and analysis of algorithms. The course aims to help students select appropriate algorithms for problems and analyze algorithm running times. It covers sorting algorithms, advanced data structures, divide and conquer techniques, greedy algorithms, dynamic programming, and NP-completeness. The course has 5 modules covering topics like algorithm analysis, sorting, trees, graphs, strings, and approximation algorithms. Student outcomes include proving algorithm correctness, applying algorithms to problems, and analyzing complexity. References for further reading are also provided.
Download as DOC, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
41 views
Design and Analysis of Algorithms
This document summarizes a course on the design and analysis of algorithms. The course aims to help students select appropriate algorithms for problems and analyze algorithm running times. It covers sorting algorithms, advanced data structures, divide and conquer techniques, greedy algorithms, dynamic programming, and NP-completeness. The course has 5 modules covering topics like algorithm analysis, sorting, trees, graphs, strings, and approximation algorithms. Student outcomes include proving algorithm correctness, applying algorithms to problems, and analyzing complexity. References for further reading are also provided.
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 2
CSE311 Design and Analysis of Algorithms 3 1 0 4
Version No. 1.0
Prerequisit CSE201 e Objectives: The objective of this course is to make the students able to compare and select appropriate algorithm for a give problem out of several posssible solutions. Expected Student will be able to Outcome: prove the correctness and analyze the running time of the basic algorithms for those classic problems in various domains apply the algorithms and design techniques to solve problems analyze the complexities of various problems in different domains. Module I Introduction : Algorithms, Analyzing algorithms, Complexity of algorithms, Growth of functions, Performance measurements, Sorting and order Statistics - Shell sort, Quick sort, Merge sort, Heap sort, Comparison of sorting algorithms, Sorting in linear time. Module II Advanced Data Structures: Red-Black trees, B trees, Binomial Heaps, Fibonacci Heaps. Module III Divide and Conquer with examples such as Sorting, Matrix Multiplication, Convex hull and Searching.Greedy methods with examples Huffman Coding, Knapsack, MinimumSpanning trees Prims and Kruskals algorithms, Single source shortest paths - Dijkstras andBellman Ford algorithms. Module IV Dynamic programming with examples such as Kanpsack, All pair shortest paths Warshals andFloyds algorithms, Resource allocation problem.Backtracking, Branch and Bound with examples such as Travelling Salesman Problem,Graph Coloring, n- Queen Problem, Hamiltonian Cycles and Sum of subsets. Module V Selected Topics: Algebraic Computation, String Matching, Theory ofNP-completeness, Approximation algorithms and Randomized algorithms. References 1. Thomas H. Coreman, Charles E. Leiserson and Ronald L. Rivest, Introduction to Algorithms, Printice Hall of India. 2. RCT Lee, SS Tseng, RC Chang and YT Tsai, Introduction to the Design and Analysis of Algorithms, Mc Graw Hill, 2005. 3. E. Horowitz & S Sahni, "Fundamentals of Computer Algorithms", 4. Berman, Paul, Algorithms, Cengage Learning. 5. Aho, Hopcraft, Ullman, The Design and Analysis of Computer Algorithms Pearson Education, 2008. Mode of Evaluation Quiz/Assignment/ Seminar/Written Examination Recommended by the Board of Studies on: Date of Approval by the Academic Council: