Recursion is a design and programming technique by which a structure is defined in terms of itself. A method definition that contains a call to it is said to be recursive. This approach to design and implement functions accomplishes the same goal as using the iterative approach for problems with repetitions. Recursion can sometimes be simpler and clearer than an iterative solution to a problem. It has been used to describe complex algorithms.
This chapter introduces the basic concepts that involve recursion and includes a problem-solving application of recursion using recursive function calls.