Learn step by step process to solve any recursion problem, learn recursion tree, stack space, solve interview questions

Do you find yourself feeling like you get “stuck” while learning recursion?

What you’ll learn

- Understand recursion process.
- Solve 23+ recursion problems.
- Learn how to draw recursion tree.
- Learn stack space, base condition, recursion call etc.
- Learn how recursion works in internal memory.
- Learn various techniques to solve any recursion problems.
- Improve your problem solving skills and become very good in Data Structures and Algorithms.
- Solve any recursion problem in two steps.

Course Content

- Introduction –> 4 lectures • 1hr 31min.
- Functional way and parameterised way –> 3 lectures • 53min.
- Search Algorithms –> 2 lectures • 44min.
- Recursion on Stack Data Structure and Array Data Structure –> 6 lectures • 1hr 7min.
- Multiple Recursion Call –> 3 lectures • 1min.
- Advance Recursion Problems –> 10 lectures • 1min.

Requirements

Do you find yourself feeling like you get “stuck” while learning recursion?

This is a complete **beginner-friendly **recursion course that will take you from beginner to advance level.

Recursion is one of the most important techniques in Data Structure and algorithms, recursion problems are also very commonly asked in **coding interviews**. If you don’t learn recursion properly you will face many difficulties while learning Dynamic Programming, Trees, Graph, Backtracking etc because recursion is used in all of these topics.

In this course we are going to start with the basics first we will build the recursion foundation by solving **various problems **like array sum, linear search, binary search etc.

After building the recursion foundation we will move to **intermediate problems** like sorting an array using recursion, reversing a stack using recursion etc.

Then we will move to the **advanced level problem **which uses multiple recursion calls like a print subset of an array, subset sum problem, permutation of an array and so on.

**This is what you will learn**

- What is recursion?
- Working of recursion
- How does recursion work in memory
- Variables scoped in recursive functions
- Dry run of recursion function
- Multiple recursion call
- How to think recursively to solve any recursion problem
- Time and space complexity of a recursion function
- How to design base case
- How recursive functions return values
- The Stack and Stack Frames
- Debugging recursive functions
- Stack Overflow, and how to avoid it
- Infinite Recursion, and how to avoid it
- How to draw a recursion tree
- Code samples are provided in C++

**List of coding problems that we are going to solve using recursion**

- Array Sum
- Print 1 to N number
- Print N to 1 number
- 1 to N Sum
- Binary search
- Sort an array
- Sort a stack
- Reverse an array using recursion
- Reverse a stack
- Delete the middle element of a stack using recursion
- Fibonacci sequence
- Print Subset of an array using recursion.
- Print unique subset
- Subset sums
- Combination sum
- Combination Sum ||
- Print all permutations of the array using recursion
- Generate all possible strings of length k
- Generate all binary strings without consecutive 1’s
- Permutation with spaces
- Generate all balanced parentheses
- Permutation with case change
- Josephus problem (Game of Death in a circle)

**This course is constantly expanding, so you’ll get free updates as the course expands. This course will be of 10 hours long.**

**After completing this course you will become a master in recursion and you can solve any recursion problem so enroll now and I will meet you in the first lecture.**