codeintuition-logo
đź›  Your feedback, our roadmap. Help us prioritize the features, content, and fixes you need most.
Learning order

1. Array

Free

Start your learning journey by understanding the most fundamental data structure.

Show Index

2. Singly Linked List

Free

Learn in-depth the most fundamental data structure in a programmer's life

Show Index

3. Doubly Linked List

Premium

Learn about the extension of the singly linked list that powers stacks and queues

Show Index

4. Hash Table

Premium

Learn how applications deal with key value mappings efficiently

Show Index

5. Stack

Premium

The data structure behind recursion, memory management, and much more

Show Index

6. Queue

Premium

Learn about the data structure that powers CPU and disk scheduling algorithms

Show Index

7. Binary Tree

Premium

Learn all about the most critical data structure in computer science

Show Index

8. Binary Search Tree

Premium

Learn about the most critical search data structure in computer science

Show Index

9. Heap

Premium

Learn all how a tree can be used as a priority queue

Show Index

10. Graph

Premium

Learn about the most dynamic data structure in computer science

Show Index

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%

2. Nested functions

0%

3. Recursion

0%

4. Pattern: Head recursion

0%

5. Pattern: Tail recursion

0%

6. Pattern: Multiple recursion

0%

7. Pattern: Multidimensional recursion

0%

8. Assessments

0%

9. Certificate

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

Completion Time: 4 hour
Difficulty: Medium
Level: Intermediate

Recursion

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

19 Lessons
16 problems
4 Patterns
10 Illustrations