Recursion in computer science is a programming technique where a function calls itself directly or indirectly to solve a problem. It is commonly used to solve problems that can be broken down into smaller subproblems of the same type. ### Key Components of Recursion: 1. **Base Case**: This is a condition that stops the recursion. It defines the simplest instance of the problem that can be solved without further recursion.