# Data Structures and Algorithms

Here is a list of topics that will be covered in this course:

* Data Structures - Heaps, Balanced Search Trees, AVL Tree, Splay Tree

* Algorithmic Paradigms - Greedy, Divide and Conquer, Dynamic Programming

* Graph Algorithms - Traversals, Shortest Paths, MST

* Lower bounds, Complexity Classes NP, Reductions

* Advanced Data Structures - Union Find, Hashing

* Advanced Algorithms - Randomized Algorithms, Approximation Algorithms

### Time and Place

Tue, Thur 9:30-11am, Rm 252, CSA

### Instructor:

**Sathish Govindarajan**

** Office Hours: Tuesday 3:30-5pm or after class, Rm 236, CSA **

### TAs:

**Sai Lakshmi Bhavana (Problem Solving) **

Cryptography, Security and Privacy Lab, Room 326, CSA

Office Hours: Wednesday, 9:30 - 11am

**Ravi Babu (Programming) **

Distributed Computing Lab, Room 228 CSA

Office Hours: Friday, 3:00 - 4:30pm

**Nitesh Tripathi (Problem Solving, Programming)**

Theory Lab, Room 307, CSA

Office Hours: Monday, 2:00 - 3:30pm

### Course Material

Text Book : Data Structure and Algorithm Analysis in C, Mark Allen Weiss

Text Book : Algorithm Design, Kleinberg and Tardos

Lecture Notes