Beginning Java Data Structures and Algorithms: Sharpen Your Problem Solving Skills by Learning Core Computer Science Concepts in a Pain-Free Manner - Cutajar, James (Packt Publishing, Limited, 2018)
Learning about data structures and algorithms gives you a better insight on how to solve common programming problems. Most of the problems faced everyday by programmers have been solved, tried, and tested. By knowing how these solutions work, you can ensure that you choose the right tool when you face these problems. This book teaches you.