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. 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.