---
title: "Characteristics of recursion"
subject: "Data Structure and Algorithm"
chapter: 5
key: "semester_4/data_structure_and_algorithm:recursion-characteristics"
source: https://www.bctengineer.com/q/semester_4/data_structure_and_algorithm/recursion-characteristics
site: BCT Engineering
---

# Characteristics of recursion

Data Structure and Algorithm · Chapter 5: Recursion

- Asked in: 2071 Bhadra, 2 marks
- Video: [Recursion in C](https://www.youtube.com/watch?v=kepBmgvWNDw) — Neso Academy
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_4/data_structure_and_algorithm/recursion-characteristics
- Whole chapter: https://www.bctengineer.com/md/semester_4/data_structure_and_algorithm/chapter-5

## Question

What are the main characteristics of recursion?

## Short answer

Main characteristics: the function calls itself, has a base case, works on smaller inputs, uses a stack for each call, divides a problem into similar subproblems, and usually costs more time and memory but gives short, clear code.

## Answer

The main characteristics of recursion are:
1. **Self-call**: the function calls itself, directly or through another function.
2. **Base case**: a stopping condition that is solved without a further recursive call.
3. **Progress toward the base case**: each call uses a smaller or simpler input.
4. **Stack use**: each call has its own copy of parameters and local variables, stored in a stack frame; results are combined while returning.
5. **Divide and conquer**: a big problem is divided into similar smaller problems.
6. **Costs**: usually needs more memory and time than iteration, and may cause stack overflow if too deep, but gives short and clear code.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Which is a key characteristic of recursion?
   A. No parameters
   B. A base case that stops the recursion without another call
   C. Using only loops
   D. Unlimited depth with no cost
   Answer: B. A stopping condition is essential. (Key point: Base case)

2. Each recursive call must
   A. use the same input
   B. use a larger input
   C. use a smaller or simpler input moving toward the base case
   D. ignore its parameters
   Answer: C. Otherwise recursion never ends. (Key point: Progress)

3. What is a drawback of recursion?
   A. Longer code always
   B. Cannot use local variables
   C. Cannot return values
   D. More memory and time, and possible stack overflow if too deep
   Answer: D. Each call needs a stack frame. (Key point: Costs)

## Related in other subjects

- [Main characteristics of 3d transition elements](https://www.bctengineer.com/question.md?key=semester_2%2Fengineering_chemistry%3A3d-characteristics) — Engineering Chemistry, chapter 5
- [Contour terms and characteristics with sketch](https://www.bctengineer.com/question.md?key=semester_4%2Fsurveying_ii%3Acontour-terms-characteristics) — Surveying II, chapter 4, asked 3×
- [Characteristics and advantages of OOP](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aoop-characteristics) — Software Engineering, chapter 2
- [Characteristics of successful entrepreneurs](https://www.bctengineer.com/question.md?key=semester_7%2Fentrepreneurship_development%3Acharacteristics-of-entrepreneurs) — Entrepreneurship Development, chapter 1
