Functions
Functions exist in most programming languages; they separate code that performs a single, well-defined task. This makes the code easier to read and allows you to reuse the code each time you need to perform the same task.
A function is a self-contained module of code that prescribes a calling interface, performs some task, and optionally returns a result.
Recursive Functions
A recursive function is one that calls itself. These functions can be used for navigating dynamic data structure.