This is a great book on learning everything you need to know about programming algorithms. This volume focuses on the most used and known algorithms. It contains searching algorithms, sorting algorithms, encryption algorithms, Greedy algorithms and dynamic programming. Every algorithm has a comprehensive description, an accurate visual representation that explains the complete process of thought, and a simple C++ program that integrates the algorithm. You can try out every algorithm in C++ and see in debugger how it works.