Nonfiction
Book
Availability
Details
PUBLISHED
DESCRIPTION
xxiv, 303 pages : illustrations ; 24 cm
ISBN/ISSN
LANGUAGE
NOTES
Part I: Understanding Recursion -- Chapter 1: What Is Recursion? -- Chapter 2: Recursion vs. Iteration -- Chapter 3: Classic Recursion Algorithms -- Chapter 4: Backtracking and Tree Traversal Algorithms -- Chapter 5: Divide-and-Conquer Algorithms -- Chapter 6: Permutations and Combinations -- Chapter 7: Memoization and Dynamic Programming -- Chapter 8: Tail Call Optimization -- Chapter 9: Drawing Fractals -- Part II: Projects -- Chapter 10: File Finder -- Chapter 11: Maze Generator -- Chapter 12: Sliding-Tile Solver -- Chapter 13: Fractal Art Maker -- Chapter 14: Droste Maker
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