In a recursive algorithm, the goal is to solve a problem by breaking it into smaller sub-problems to solve. This is accomplished by constructing an algorithm using two important components. What are these components, what is the purpose of each