Class Material

Lecture Slides

I will post here all the lecture slides used. As the class progresses I will keep adding material.

Exercises

I will post some exercises here.

Recommended Books

The main book you should read is:

Other suggested books that present similar material and/or complement CLRS book are:

For a more practical take on algorithms, including actual code:

Selected Topics

More info (external links) about the topics I'm talking about.

Correctness and Invariants

Asymptotic Analysis, Order of Growth and Recurrences

Amortized Analysis

Probabilistic Analysis and Randomized Algorithms

Lower Bounds

Linear Algorithms for the Selection Problem

Sorting in Linear Time

String Matching

Greedy Algorithms

Dynamic Programming

NP-Completeness