Recursion is a problem-solving strategy that involves defining a problem in terms of itself, consisting of a base case to stop recursion and a recursive step to approach the base case. The call stack manages the invocation of recursive functions, and the big-O runtime is determined by the number of recursive calls, which can vary based on the algorithm's complexity. A weak base case can lead to infinite recursion and stack overflow errors.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
1 views
Algorithms_ Recursion Cheatsheet _ Codecademy
Recursion is a problem-solving strategy that involves defining a problem in terms of itself, consisting of a base case to stop recursion and a recursive step to approach the base case. The call stack manages the invocation of recursive functions, and the big-O runtime is determined by the number of recursive calls, which can vary based on the algorithm's complexity. A weak base case can lead to infinite recursion and stack overflow errors.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3
Cheatsheets / Algorithms
Recursion
Base Case of a Recursive Function
A recursive function should have a base case with a function countdown(value)
condition that stops the function from recursing if value is negative or zero indefinitely. In the example, the base case is a condition evaluating a negative or zero value to be true. print "done" otherwise if value is greater than zero print value call countdown with (value-1)
Recursive Step in Recursive Function
A recursive function should have a recursive step def countdown(value):
which calls the recursive function with some input that if value <= 0: brings it closer to its base case. In the example, the recursive step is the call to countdown() with a print("done") decremented value. else: print(value) countdown(value-1) #recursive step
What is Recursion
Recursion is a strategy for solving problems by defining
the problem in terms of itself. A recursive function consists of two basic parts: the base case and the recursive step. Call Stack in Recursive Function
Programming languages use a facility called a call stack
to manage the invocation of recursive functions. Like a stack, a call stack for a recursive function calls the last function in its stack when the base case is met.
Big-O Runtime for Recursive Functions
The big-O runtime for a recursive function is equivalent
to the number of recursive function calls. This value varies depending on the complexity of the algorithm of the recursive function. For example, a recursive function of input N that is called N times will have a runtime of O(N). On the other hand, a recursive function of input N that calls itself twice per function may have a runtime of O(2^N).
Weak Base Case in Recursive Function
A recursive function with a weak base case will not have
a condition that will stop the function from recursing, causing the function to run indefinitely. When this happens, the call stack will overflow and the program will generate a stack overflow error. Execution Context of a Recursive Function
An execution context of a recursive function is the set
of arguments to the recursive function call. Programming languages use execution contexts to manage recursive functions.