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