**CS-402: Design and Analysis of Algorithms**

**Lecture Notes**

**A Gentle Introduction:**DAA-1.0-Introduction

**Algorithms and Complexity:**DAA-2.0-Complexity

**Divide-and-Conquer:**DAA-3.0-Divide-and-Conquer

**Selection Algorithms:**DAA-4.0-Selection Algorithms

**Sorting Algorithms:**DAA-5.0-Sorting Algorithms

**Matching Algorithms:**DAA-6.0-Matching Algorithms

**Basic Graph Algorithms:**DAA-7.0-Basic Graph Algorithms

**Greedy Algorithms:**DAA-8.0-Greedy Algorithms

**Dynamic and Linear Programming:**DAA-9.0-D&L Programming

**Reductions:**DAA-10.0-Reductions

**Labs**

**Lab-1:**DAA-Lab-1

**Lab-2:**DAA-Lab-2

**Lab-3:**DAA-Lab-3

**Lab-4:**DAA-Lab-4

**Lab-5:**DAA-Lab-5

**Lab-6:**DAA-Lab-6

**Bibliography**

T. Cormen, C. Leiserson, R. Rivest, and C. Stain, Introduction to Algorithms, MIT Press (2ed edition), 2001.

S. Dasgupta, C. Papadimitriou, and U. Vazirani, Algorithms, McGraw-Hill, 2008; also in Greek.

S. Baase and A.V. Gelder, Computer Algorithms, Addison-Wesley (3rd edition), 2000.