Thinking Recursively - A 20th Anniversary Edition with Java (WSE) by E Roberts
Updated and revised to include the use of Java for programming examples, this book provides readers with a thorough and clear introduction to the difficult concept of recursion. This title uses a broad range of examples to illustrate the principles used in recursion and how to apply them to programming. It features imaginative examples along with various exercises and their solutions.