Recursion
1. What is recursion in computer science?
2. What is the purpose of a base case in a recursive function?
3. What is the main difference between recursive and iterative solutions?
4. Which of the following is NOT a characteristic of recursion?
5. In a recursive function, what happens when the base case is not reached?
6. How can we avoid a stack overflow error in a recursive function?
7. Can recursion be used to solve dynamic programming problems?
8. In recursive algorithms, what is meant by 'tail recursion'?
9. How can you optimize a recursive function to reduce the overhead of function calls?
10. What is the time complexity of a recursive function that makes n recursive calls, assuming each recursive call takes O(1) time?