0% 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.

Uploaded by

LiNu
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% 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.

Uploaded by

LiNu
Copyright
© © All Rights Reserved
Available Formats
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:

You might also like