Thinking Recursively with Java
J**A
Superb
I don't program in Java, mainly c++. If you program in any c-style language you will find this book insightful in Thinking about recursion. The examples are great and the book is written in a very nice style. I came upon this book by chance. I owned a second hand copy of the original with included examples in Pascal. I much prefer this edition. To get the most out of this book, I'd recommend you attempt and think about the questions at the end of each of the chapters. The mathematical induction related chapter was eye opening and very enjoyable. I'd recommend any text that Eric Roberts has written, he is obviously gifted in his ability to educate and make it so rewarding in the process.Thank youGary
P**E
No solutions to exercises
People pay for the books so they can learn, there is no point in having exercises with no solution. This is simply unfair and robs people from both learning opportunity and their money. I do not support textbooks/books that optimizes for teachers in a classroom at the expense of self motivating individuals and they will always be more that the teachers. This book is taking up space at my place and has never been used for intellectual advancement, I have however been able to utilize other books to understand the topic.
F**P
Five Stars
Very helpful
Y**C
This book sucks! Just talk talk and talk with only few ...
This book sucks! Just talk talk and talk with only few solutions! It's a total waste, throwing it into garbage!!!
W**E
rapid read
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.
J**N
Five Stars
Excellent book! It helped me finally get a handle on recursion. Highly recommended.
C**E
A good book on recursion implemented in Java
In mathematics and computer science, recursion specifies a class of objects or methods by defining a few very simple base cases or methods, and then defining rules to break down complex cases into simpler cases. Of the books out there on recursion, this really is a very good one. This is the 20th anniversary edition of the author's classic book "Thinking Recursively", which was published in 1986, with all code illustrations now done in the Java programming language. In fact, this book has the exact same number of chapters with the exact same names as the original edition with improved and expanded material.The author does a good job of comparing the procedural approach to the recursive approach while showing an example of a producing a "context-free grammar" in which the procedural approach fails. This is not only a good discussion of the shortcomings of the procedural approach, it has some concrete examples that explain the concept of the context-free grammar better than programming language textbooks that are dedicated to the cause. Next the book offers up the recursive solution for the familiar and classic Tower of Hanoi problem. This section uses index cards to illustrate the solution. Necessary tasks for each subgoal are listed on the index card and are gradually marked out to indicate progress in moving the disks from one tower to the other. There are also discussions on permutations and sorting that are best solved by recursion. Of course, you can find this information in most good algorithm textbooks, but you can't usually find in those textbooks the code examples that show the complete solution to the problem that you find in this book.Where the book is particularly excellent and unique is in later chapters when it includes recursive solutions to graphical applications and even introduces the GPen class, which is defined in the acm.graphics package developed by the Association of Computing Machinery (ACM), for this purpose. Drawings of fractals are used as an application to show how one carries out this recursive drawing. It is also explained that Java's graphical classes, though extensive, are not suited to recursive drawing.This book contains quite a bit of mathematics as well as Java code, so the reader should already be proficient in Java programming as well as discrete mathematics. This book could serve as a textbook since besides its many examples it includes exercises with solutions.
B**I
Thinking Recursively In Java
The author treats the very important subject of recursion from the ground up with the necessary fundamentals. The examples are significant and introduce the reader to the use of data structures and algorithms. In the process, underlying implementations are examined which clear the thought process. The book will serve as a good reference.
Trustpilot
3 days ago
2 weeks ago