Data Structure and Algorithmic Thinking with Python - Algorithmic Puzzles. If you want to buy this book copy and paste this url in browser http://fkrt.it/8Gq216uuuN
This book is intended as a manual on algorithm design, providing access to combinatorial algorithm technology for both students and computer professionals. It is divided into two parts: Techniques and Resources.
Book for cracking programming interviews