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 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.
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 R. G. Downey, D. R. Hirschfeldt - Springer
Computability and complexity theory are two central areas of research in theoretical computer science. This book provides a systematic, technical development of algorithmic randomness and complexity for scientists from diverse fields.
by Sanjeev Arora, Boaz Barak - Cambridge University Press
The book provides an introduction to basic complexity classes, lower bounds on resources required to solve tasks on concrete models such as decision trees or circuits, derandomization and pseudorandomness, proof complexity, quantum computing, etc.