Study Path Agent
Copy link
X / Twitter
Facebook
LinkedIn
WhatsApp
Generate Your Own
Programming Recursion
43 topics across 6 chapters
Chapter 1
Prerequisites: Functions, Scope, and Call Stack Basics
1
Functions & parameter passing (by value/reference)
2
Variable scope & lifetime (local vs global)
3
Call stack mental model (frames, return addresses)
Chapter 2
Core Recursion Concepts
4
Base cases & termination (avoiding infinite recursion)
5
Recursive case design (reduce the problem size)
6
Tracing recursion (stack traces, dry runs, recursion trees)
7
Return values vs side effects in recursive functions
8
Complexity intuition for recursion (time/space, recursion depth)
Chapter 3
Common Recursive Patterns
9
Linear recursion (countdown, sum, factorial)
10
Divide-and-conquer recursion (binary search, merge sort idea)
11
Structural recursion on data (lists, arrays, strings)
12
Tree recursion (traversals and branching recursion)
3 subtopics
13
Binary tree traversals (pre/in/post-order) using recursion
14
DFS on graphs using recursion (visited set basics)
15
Backtracking template (choose → explore → unchoose)
16
Mutual recursion (two functions calling each other)
17
Generating combinations/permutations recursively
Chapter 4
Recursion in Data Structures & Algorithms
18
Recursive linked list operations (reverse, nth node, merge)
↗
Tree recursion (traversals and branching recursion)
(see Chapter 3)
19
Recursive sorting & searching (merge sort/quicksort, binary search)
20
Recursive dynamic programming (top-down memoization)
3 subtopics
21
Memoization with a map/array (key design)
22
Classic DP problems (Fibonacci, coin change, knapsack) in recursive form
23
Overlapping subproblems vs optimal substructure (recognition)
24
Recursive parsing basics (nested parentheses / expression evaluation idea)
Chapter 5
Making Recursion Practical (Optimization & Limits)
25
Tail recursion & tail-call optimization (when it applies)
26
Converting recursion to iteration with an explicit stack
2 subtopics
27
Simulating DFS iteratively (stack push/pop patterns)
28
Managing state for backtracking iteratively (frames/state objects)
29
Stack overflow & recursion depth limits (language/runtime considerations)
30
Debugging recursive code (breakpoints, logging, invariants)
Chapter 6
Practice & Mastery Checklist
31
Write 10 recursive functions with clear base/recursive cases (drills)
32
Trace 10 recursion examples by hand (stack frames + returns)
33
Solve 10 backtracking problems (subsets, permutations, N-Queens)
34
Convert 5 recursive solutions to iterative (explicit stack)
35
Add memoization to 5 recursive problems and compare complexity
36
Implement recursive tree traversals and validate outputs with tests