
Thinking Recursively: With Examples in Java / Edition 1
by Eric S. RobertsISBN-10: 0471701467
ISBN-13: 9780471701460
Pub. Date: 02/11/2005
Publisher: Wiley
- 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
- Uses a broad range of examples to illustrate the principles used in recursion and how to apply them to programming
- Features imaginative examples along with various /li>/li>
Overview
- 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
- Uses a broad range of examples to illustrate the principles used in recursion and how to apply them to programming
- Features imaginative examples along with various exercises and their solutions
Product Details
- ISBN-13:
- 9780471701460
- Publisher:
- Wiley
- Publication date:
- 02/11/2005
- Edition description:
- 20th Anniversary Edition
- Pages:
- 188
- Product dimensions:
- 6.16(w) x 9.29(h) x 0.30(d)
Table of Contents
Preface.
1. The Idea of Recursion.
2. Mathematical Preliminaries.
3. Recursive Functions.
4. The Procedural Approach.
5. The Tower of Hanoi.
6. Permutations.
7. Sorting.
8. Recursive Backtracking.
9. Graphical Applications.
10. Recursive Data.
11. Implementation of Recursion.
Index.
Customer Reviews
Average Review:
Most Helpful Customer Reviews
Thinking Recursively: With Examples in Java
5 out of 5
based on
0 ratings.
1 reviews.
![]() |
This little book is a minor classic. First published 20 years ago, it gave an extended explanation of recursion, which is a vital concept in computer science. Of course, Java did not exist back then, so that edition used Pascal for the example code. But Pascal has undergone a severe downturn. Hence this second edition has code in Java. Classic pedagogic examples like the Towers of Hanoi are shown to yield to a recursive assult. The code examples are concise. Not atypical of recursive methods. If you find the entire idea of recursion to be a little weird, you can focus on the text's examples. Unlike code for, say, GUI building, which is often voluminous, recursion is subtler. And far more elegant, if you appreciate this type of abstraction. Roberts also brings up fractals. Another trendy topic. He shows that recursion and fractals are a very natural fit. The concept of self-similarity that underpins fractals is so easy to express in a recursive routine. If you understand recursion by this point in the text, a bonus may be the nice insight this gives into fractals. The only minor dissenting point is that there seems to be no discussion about when you should not code a recursive solution, even if such a method is possible. If you have a large data set, that triggers a stack or heap overflow, due to repeated, recursive method calls, where each call pushes return address information for that method onto a stack. I have had to rewrite sections of my own code, that were originally recursive, due to this.
|