Recursividade é uma técnica para resolução de problemas em programação em que uma função chama a si mesma dentro do seu escopo. Trata-se de uma estratégia para resolver um problema analisando-os como subproblemas e em várias etapas, criando-se um processo de repetição de chamadas da própria função dentro dela mesma.

A recursividade costuma deixar o código-fonte mais limpo e próximo da definição matemática do problema e torna a implementação mais fácil em problemas que envolvem recorrência, como fatoriais, algoritmos de ordenação e busca completa.
11.1. Estrutura
11.2. Fatorial & Fibonacci
11.3. Greatest Common Divisor
11.4. (Extra) Merge Sort
11.5. Beecrowd 2166 - Square Root of 2 [Solução]
11.6. Beecrowd 1512 - Tiles [Resolução] [Solução]