codeintuition-logo
Learning PathBlogsPremiumLogin
codeintuition-logo
Data structures
Algorithms

General resources

Learning Path

Blogs

Referral

Social

Linkedin

Twitter

Facebook

Legal

Terms of Service

Privacy Policy

codeintuition-logo
Copyright © 2025 codeintuition.io . All rights reserved.
Learning order

1. Recursion

Premium

Take a deep dive into one of the most intuitive programming paradigm

Show Index

2. Backtracking

Premium

Learn about the ultimate recursive brute force technique

Show Index

3. Sorting

Premium

Learn all about algorithms to sort data blazingly fast

Show Index

4. Searching

Premium

Learn about the algorithms that speed up your searches exponentially

Show Index

5. Bit Manipulation

Premium

Learn about the fastest ways to manipulate data

(Early Access)

Show Index

6. Dynamic Programming

Premium

Learn the most powerful optimization for recursive problems

(Early Access)

Show Index

Recursion

Take a deep dive into one of the most intuitive programming paradigm

30 Lessons
8 problems
6 Patterns
10 Illustrations

What you will learn

What does a process loaded in memory look like

How function calls work behind the scenes

What is recursion and what makes it so powerful

Intuition through visual code explanations and walkthrough

Different types of recursion and their characteristics

Understand essential patterns behind common interview problems

Detailed code implementation and solution of all problems

Hands on practical experience in a setup free coding environment

Requirements

This is a complete course and assumes that you know nothing about recursion but are familiar with some basic foundational topics in any programming language and data structures.

  • Basic knowledge of programming in any language
  • Basic knowledge of functions and classes
  • Basic knowledge of memory management
  • You have completed the stacks course

Overview

Recursion is used extensively in programming and is a very powerful programming paradigm. It effectively solves complex problems with simple recursive solutions and sets the base for high-level algorithms like divide and conquer and dynamic programming. It also serves as the core of tree and graph traversal algorithms. Irrespective of your language, framework, or system, you will always be using some recursive algorithm under the hood.

Loading Image

Representation of recursion

Fundamentals

This course teaches you the fundamentals of recursion and how it works under the hood. It provides you with code implementations and detailed explanations of recursion in the most intuitive way to help you thoroughly understand this core computer science concept. We go step by step to explore what a process looks like when executed and how recursive function calls work.

Problems Solving

This interactive course involves high-quality problems and is deeply focused on problem-solving. It bridges the gap between theoretical concepts and common interview problems by explaining the most common interview problems on recursion. This will help you gain confidence and understand how to convert your learning into action. By the end of the course, you will be pretty confident that you can solve any recursion problem thrown at you.

Who this course is for

This all-rounder course targets a variety of audiences ranging from complete beginners to experienced programmers who want to take their knowledge to the next level. You will greatly benefit from this course if you identify yourself as one of the following

  • Non developers who want to start their journey to learn data structures
  • Developers who want to get deepest knowledge of recursion
  • Anyone interested in improving their problem solving skills
  • Anyone preparing for programming interviews

Course Contents

1. Introduction to memory model

0%
Overview of program in memory
Understanding memory partitions
Exploring stack memory
Insights into heap memory
Static memory allocation
Delving into the code segment
Visualizing the complete picture

2. Nested functions

0%
Introduction to nested functions
Function call mechanics
Scope of local variables
Recursive function calls
Understanding stack overflow

3. Stack frame

0%
Understanding the stack frame structure
Understanding the stack pointer
Understanding the frame pointer
Storage of local variables
Storage of function parameters
Handling the return value
Managing the return address

4. Recursion

0%
Understanding the problem
Exploring a possible solution
Key components of recursion
Understanding the recursion tree
Implementing recursive algorithms

5. Pattern: Direct recursion

0%
Understanding direct recursion
Recursively calculate factorial
code solution
Easy

6. Pattern: Head recursion

0%
Understanding head recursion
Recursively print numbers from 1 to N
code solution
Easy
Recursively reverse a stack
code solution
Medium

7. Pattern: Tail recursion

0%
Understanding tail recursion
Recursively print numbers from N to 1
code solution
Easy
Recursively reverse a queue
code solution
Easy

8. Pattern: Tree recursion

0%
Understanding tree recursion
Recursively find the Nth fibonacci number
code solution
Easy
+1

9. Pattern: Multidimensional recursion

0%
Understanding multidimensional recursion
Recursively calculate binomial coefficient
code solution
Easy

10. Pattern: Indirect recursion

0%
Understanding indirect recursion
Recursively print number from 1 to N II
code solution
Easy

11. Assessments

0%
Assessment 1
Assessment 2

12. Certificate

Certificate
Start Learning →

Forever offer!: 70% OFF

Annual

$4

.97

/MO

Billed annualy at$199$59.7

Get Unlimited Access
Unlimited access
Code execution
Detailed solutions
Incremental Learning Path
High quality lessons

Completion Time: 4 hour
Difficulty: Medium
Level: Intermediate
Start Learning →

Recursion

Take a deep dive into one of the most intuitive programming paradigm

30 Lessons
8 problems
6 Patterns
10 Illustrations