Department of Computer Science and Engineering
B.Tech. III (CO) Semester - 5 | L |
T |
P |
C |
||||
CO303 : DESIGN AND ANALYSIS OF ALGORITHMS (CS-2) | 3 |
1 |
0 |
4 |
||||
COURSE OBJECTIVES | ||||||||
|
||||||||
COURSE OUTCOMES | ||||||||
After successful completion of this course, student will be able to
|
||||||||
COURSE CONTENT | ||||||||
Introduction | (04 Hours) |
|||||||
Introduction to algorithms, analysis and design techniques. Analysis Techniques: Mathematical, Empirical and Asymptotic analysis. Review of the notations in asymptotic analysis. Recurrence Relations and Solving Recurrences - Proof Techniques – Illustrations. |
||||||||
Divide and conquer approach | (06 Hours) |
|||||||
Sorting & order statistics: Divide and Conquer technique – Various Comparison based Sorts – Analysis of the Worst-case and the Best-cases – Randomized Sorting Algorithms – Lower Bound on Sorting - Noncomparison based sorts – Applications – Medians and Order Statistics. |
||||||||
Greedy design techniques | (08 Hours) |
|||||||
Basic Greedy Control Abstraction – Motivation – The Thirsty Baby Problem – Formalization – Activity Selection and its variants – Huffman Coding – Horn Formulas - The Tape Storage Problem - The Container Loading Problem – The Knapsack Problem – Graph Algorithms – Minimum Spanning Trees – Single Source Shortest Paths – Maximum Bipartite Cover Problem – Applications. |
||||||||
Dynamic programming | (08 Hours) |
|||||||
Motivation – The Coin Changing problem – The Longest Common Subsequence – The 0/1 Knapscak problem – Memoization – All-pairs Shortest Path Problems - The Dynamic Programming Control Abstraction. |
||||||||
Backtracking | (04 Hours) |
|||||||
Backtracking - Branch & Bound - N-Queens problem - 15-puzzle problem. |
||||||||
Number theoretic algorithms | (06 Hours) |
|||||||
Number Theoretic notions – the GCD – Modular Arithmetic – The Chinese Remainder Theorem – Generators – Cyclic Groups – Galois Fields – Applications in Cryptography - The Primality Testing. |
||||||||
NP-COMPLETE PROBLEMS | (06 Hours) |
|||||||
Polynomial time – verification – NP-completeness – Search Problems – The reductions – Dealing with NP-completeness – Approximation Algorithms – Local Search Heuristics. |
||||||||
Tutorials will be based on the coverage of the above topics separately | (14 Hours) |
|||||||
(Total Contact Time: 42 Hours + 14 Hours = 56 Hours) | ||||||||
BOOKS RECOMMENDED |
||||||||
|