An accessible yet rigorous crash course on recursive programming using
Python and JavaScript examples.
Recursion has an intimidating reputation: it's considered to be an
advanced computer science topic frequently brought up in coding
interviews. But there's nothing magical about recursion.
The Recursive Book of Recursion uses Python and JavaScript examples to
teach the basics of recursion, exposing the ways that it's often poorly
taught and clarifying the fundamental principles of all recursive
algorithms. You'll learn when to use recursive functions (and, most
importantly, when not to use them), how to implement the classic
recursive algorithms often brought up in job interviews, and how
recursive techniques can help solve countless problems involving tree
traversal, combinatorics, and other tricky topics.
This project-based guide contains complete, runnable programs to help
you learn:
How recursive functions make use of the call stack, a critical data
structure almost never discussed in lessons on recursion
How the head-tail and "leap of faith" techniques can simplify writing
recursive functions
How to use recursion to write custom search scripts for your filesystem,
draw fractal art, create mazes, and more
How optimization and memoization make recursive algorithms more
efficient
Al Sweigart has built a career explaining programming concepts in a fun,
approachable manner. If you've shied away from learning recursion but
want to add this technique to your programming toolkit, or if you're
racing to prepare for your next job interview, this book is for you.