Complexity and Computation
by Allen Downey
Publisher: Green Tea Press 2011
Number of pages: 104
This book is about data structures and algorithms, intermediate programming in Python, complexity science and the philosophy of science. This book picks up where Think Python leaves off. I assume that you have read that book or have equivalent knowledge of Python.
Home page url
Download or read it online for free here:
by F. D. Lewis - University of Kentucky
This is an on-line textbook on heuristic algorithms. From the table of contents: Classes of Problems; Integer Programming; Enumeration Techniques; Dynamic Programming; Approximate Solutions; Local Optimization; Natural Models.
by Karl Petersen - University of North Carolina
These notes provide an introduction to the subject of measure-preserving dynamical systems, discussing the dynamical viewpoint; how and from where measure-preserving systems arise; the construction of measures and invariant measures; etc.
by Johan Håstad
This set of notes gives the broad picture of modern complexity theory, defines the basic complexity classes, gives some examples of each complexity class and proves the most standard relations. The author emphasizes the ideas involved in the proofs.
by Tim Roughgarden - Stanford University
The two biggest goals of the course are: 1. Learn several canonical problems that have proved the most useful for proving lower bounds; 2. Learn how to reduce lower bounds for fundamental algorithmic problems to communication complexity lower bounds.