Algorithms from P to NP: Design & efficiency

This volume contains a lot of material and exercises ranging from simple to very challenging. In order to read this book, you should be comfortable with elementary data structures, such as linked lists and search trees, including some type of balanced search tree.