Recursive Solutions
Recursion is an important problem solving approach that is an alternative to iteration.
These are questions to answer when using recursive solution:
1. How can you define the problem in terms of a smaller problem of the same type?
2. How does each recursive call diminish the size of the problem?
3. What instance of the problem can serve as the base case?
4. As the problem size diminishes, will you reach this base case?