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 course on recursion that explains it and illustrates it in detail, 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 multiple instances of the same problem, which will help you understanding 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
Has adjacent duplicates
Reverse string
Minimum cost path in matrix
All possible phrases
Keypad combinations
String subsequences
Binary numbers with at most 2 zeros
Word search
Array permutations
Why you should take this course:
Detailed explanation of how the recursive process works
Animated examples
Good audio/video quality
Real English captions
Contains coding problems to practice
Ability to ask questions if you don't understand something