Skip to main content
Practice

recursive-call-intro

---
id: recursive-call-intro
title: What is Recursive Call?
description: Understanding the concept, pros, and cons of recursive functions
tags:
- Python
- Algorithm
- Recursive Call
sidebar_position: 2
isPublic: true
---

# What is Recursive Call?

`Recursion` refers to a function calling itself. It is often used to express mathematical functions like factorials and Fibonacci sequences.

```python title="Factorial Recursive Function Example"
def factorial(n):
if n == 0: # Base case
return 1 # Recursion ends
else: # Recursive call
return n * factorial(n-1) # Calls itself with n-1 as argument

# Example: Calculating factorial of 5
factorial_result = factorial(5)

print("factorial_result:", factorial_result) # factorial_result: 120

Recursive functions are useful for solving complex problems by breaking them down into simpler, repetitive tasks.


Base Case

Every recursive function needs a termination condition, known as the base case. The base case defines the stopping point of the recursion.

For instance, in the factorial function above, the statement if n == 0 is the base case that ends the recursion.

This condition ensures that when n becomes 0 or less, the function stops calling itself and terminates.


Pros and Cons of Using Recursion

Pros:

  1. The code is cleaner and easier to understand.

  2. It allows complex problems to be expressed concisely.

  3. It is particularly useful for naturally implementing data structures and algorithms.


Cons:

  • Each function call uses memory, which may lead to higher memory usage.

  • If not implemented correctly, it can lead to infinite loops.

Want to learn more?

Join CodeFriends Plus membership or enroll in a course to start your journey.