ABSTRACT

Recursion is a broad concept that is used in diverse disciplines such as mathematics, bioinformatics, or linguistics, and is even present in art or in nature. In the context of computer programming, recursion should be understood as a powerful problem-solving strategy that allows us to design simple, succinct, and elegant algorithms for solving computational problems. An entity or concept is said to be recursive when simpler or smaller self-similar instances form part of its constituents. Recursion can even be used to define words in dictionaries. Decomposition is an important concept in computer science and plays a major role not only in recursive programming, but also in general problem solving. When data types are more complex there may be more variations among the codes of different programming languages due to low-level details. Induction is another concept that plays a fundamental role when designing recursive code.