- To understand recursion, you must first understand .
- In a stack data structure, you can only add and remove from the of the stack.
- The term for adding to a stack is , while removing from a stack is .
- Python lists can be used as a stack, with the method for pushing and method for popping.
- Function calls make use of a stack called the .
- The call stack pushes when functions are called and pops them when functions return.
- Frame objects contain the and for a function call.
- The sys.setrecursionlimit() function can change the maximum recursion depth. The times that it’s appropriate to call this is .
- Recursive functions must always have base case and recursive case.
- "Iterative" means the code uses a .
- Unlike recursive algorithms, iterative algorithms will never .
- Recursion and iteration are equally powerful. There is nothing recursion can do that you can't do with a and a .
- The recursive factorial solution can be confusing because code is run both and the recursive call.
- The recursive factorial solution isn’t used in real world code because calculating large factorials results in a .
- The recursive Fibonacci solution isn’t used in real world code because calculating large Fibonacci numbers requires .
- Recursion is a good technique to use when the problem involves and .