# Recursion: the full course

Recursion: the full course

Recursion: the full course The recursive process, the optimization, the techniques (backtracking and divide-and-conquer)... all in this course

New

What you'll learn

• Recursion
• Recursive process
• Optimizing a recursive function (with memoization and dynamic programming)
• Algorithmic techniques based on recursion (backtracking and divide-and-conquer)
• Tail recursion
• Breaking down a problem into subproblems of the same type

Requirements

• Basic programming knowledge

Description

Even if the concept of recursion is simple, a lot of people struggle with it (not understanding the recursive process, not being able to figure out the base cases and recursive cases...), this is why I wanted to create a full course on recursion that covers all what you need to know about it, it also contains 11 solved and explained coding problems to practice.

And knowing recursion will also give you a new way of thinking, which is dividing the problem into subproblems of the same type, which is necessary to understand techniques like dynamic programming, backtracking...

See you in the first lecture!

The course covers:

• What is recursion
• Code and execution
• Base cases and recursive cases
• Multiple recursive calls process
• Call stack
• Recursion tree
• How to visualize the process
• Recursive functions complexity analysis (time and space comp)
• Recursion vs Iteration
• How to optimize a recursive function (memoization and dynamic programming)
• Divide-and-conquer
• Backtracking
• Recursive data structures
• Tail recursion
• Double recursion
• How to think recursively

Plus 11 solved and explained coding problems to practice:

• Sum of digits
• Count occurrences
• Reverse string
• Minimum cost path in matrix
• All possible phrases