pChapter 8 introduces the technique of recursive programming. pAs you have seen, recursive programming involves spotting smaller occurrences of a problem within the problem itself. pThis presentation gives an additional example, which is not in the book.
Recursive Thinking
Data Structures
and Other Objects
Using Java
This lecture demonstrates a typical pattern that arises in recursive methods.  The lecture can be given shortly before or shortly after the students have read Section 8.1.
By the way, the book delays the introduction of recursion until just before trees. Our reasoning here is that recursive methods with linked lists can sometimes be bad programming practice because the run-time stack must grow to the length of the linked list (and iterative algorithms are usually just as easy). On the other hand, the depth of recursive tree algorithms is merely the depth of the tree (and equivalent iterative algorithms can be harder to program).