LearnViz CompSci
Home / Learn / Programming Fundamentals / Recursion

Intermediate Topic 23 of 54 Programming Fundamentals

Recursion

A function solving a problem by calling itself on smaller inputs.

How it works

A recursive function solves a problem by reducing it to smaller instances of itself. Each call gets its own stack frame, calls continue until a base case returns directly, and then results combine on the way back up. Any recursion can be rewritten with loops and an explicit stack, but recursion often mirrors the structure of the problem more naturally.

Where it is used

Factorial, Fibonacci, tree and graph traversal, divide-and-conquer algorithms such as merge sort, backtracking puzzles and parsing nested structures all use recursion. File-system walks are a familiar example.

Common pitfall

A missing or unreachable base case causes stack overflow, and naive recursion like Fibonacci repeats work exponentially; use memoization or iteration. Deep recursion on large inputs can exhaust the stack even when the logic is correct.

Where it fits in the course

Recursion is topic 23 of 54 in Programming Fundamentals, rated Intermediate. It follows Tuples. The next topic is Base Case.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Programming Fundamentals quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Recursion?
A function solving a problem by calling itself on smaller inputs. It belongs to Programming Fundamentals and is an intermediate-level topic.
Where do people use Recursion?
Factorial, Fibonacci, tree and graph traversal, divide-and-conquer algorithms such as merge sort, backtracking puzzles and parsing nested structures all use recursion.
What is the most common mistake with Recursion?
A missing or unreachable base case causes stack overflow, and naive recursion like Fibonacci repeats work exponentially; use memoization or iteration.
What should I learn before this topic?
Start with Tuples, the topic just before it in Programming Fundamentals.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Programming Fundamentals quiz. You can also explore Recursion Tree in the Visual Lab.
Is Recursion hard to learn?
It is an Intermediate topic. Be comfortable with the Beginner topics in this area first, then read the common pitfall carefully, since it is where most mistakes happen.
How long does it take to learn Recursion?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Recursion?
Tuples, Base Case, Sets are closely connected. The full list is in the related topics section of this page.
What should I study after Recursion?
Continue with Base Case, the next topic in Programming Fundamentals.

Related topics