Recursion is a problem-solving technique where the solution of a problem depends on solutions to smaller instances of the same problem. It is a process by which a function calls itself directly or indirectly. Such a function is called a recursive function.