Design & Analysis of Algorithms

Introduction to Algorithms, Third Edition, Coremen, Leiserson, Rivest and Stein

This course is about problem solving and computation via algorithms. We will cover a number of known algorithms (sorting, hashing, search, indexing) and their applications. We will discuss methods for analyzing existing algorithms and designing new algorithms. Finally, the students will be introduced to complexity classes, in particular the class of NP-completeness.

Analysis of Complexity

Chapter 3, 4, 5

Data structures

Chapter 11

Optimization

Chapter 15, 16

Complexity & Tractability

Chapter 34