Step 1: Understanding the Question:
This question asks about the underlying data structure that computer systems use to manage the execution of recursive function calls.
Step 2: Detailed Explanation:
Recursion is a process where a function calls itself. To manage these calls, the system needs to keep track of the state of each active function call (its parameters, local variables, and the return address).
This is managed using a region of memory called the call stack.
When a function is called (including a recursive call), a new block of memory, called a stack frame or activation record, is created for it.
This stack frame is pushed onto the top of the call stack.
When the function finishes execution and returns, its stack frame is popped off the stack, and control returns to the address stored in the frame below it.
This mechanism works on a Last-In, First-Out (LIFO) principle, because the last function to be called is the first one to return. A Stack is a data structure that operates on the LIFO principle.
Step 3: Final Answer:
The data structure that follows the LIFO principle and is used by the system to implement recursion is the Stack.