Recursion is a programming technique in which a function
with a modified version of its original input
Recursion is often used to solve problems that can be
into smaller subproblems
In data structures, recursion can be used to
trees and graphs.
of recursion is that it can make the code more concise and easier to read
of recursion is that it can be more difficult to understand and debug
Recursion consume more
due to the function calls being stored on the call stack.
It is important to implement a base case to
the recursion function otherwise the function will continue to call itself indefinitely and may cause a memory overflow
Everything about heap data structure