520217 Theory Major Course

Design and Analysis of Algorithms

3.0 Credits 45 class hours 80 Marks Second Year · Semester IV
Course outline

What you’ll study

Techniques for the analysis of algorithms; methods for the design of efficient algorithms; divide and conquer; merge sort; the greedy method; dynamic programming; backtracking — the graph-colouring problem, the n-queens problem and the Hamiltonian cycle; branch and bound; basic search and traversal techniques; topological sorting; connected components; graph algorithms — shortest path and spanning tree; flow algorithms — the Ford-Fulkerson method, maximum bipartite matching; algebraic simplification and transformations; string-matching problems — the naïve string-matching algorithm, the Boyer-Moore algorithm and the Knuth-Morris-Pratt algorithm; approximation algorithms; the knapsack problem; matrix chain multiplication; lower-bound theory; NP-hard and NP-complete problems.

Reference Books
Introduction to Algorithms — Cormen, Leiserson, Rivest & Stein
Fundamentals of Computer Algorithms — Horowitz, Sahni & Rajasekaran
Course Code
520217
Credit Hours
3.0 Credits · 80 marks
Class Hours
45 class hours
Course Type
Major Theory
Semester
Second Year · Semester IV
Back to Semester IV
Learn it free & get certified

Free certificate courses for this subject

Hand-picked online courses to master Design and Analysis of Algorithms. Each link opens an exact course page on a platform that issues a real certificate at zero cost — no financial-aid condition, no hidden fee.