Recursão de cauda — ou como não estourar a pilha

Publicado em 13 nov 2020. Uns 10 minutos de leitura.

Quando precisamos realizar uma operação várias vezes, geralmente existem duas maneiras: iterativa e recursiva. Iterativa é quando utilizamos alguma estrutura de laço, como um for ou while, com uma variável de controle para saber quando parar. Recursiva é quando uma função decide executar a si mesma por entender que ainda precisa continuar processando. Toda iteração pode ser escrita como uma recursão e vice-versa. Recursões porém tem um risco associado: o estouro da pilha. Vamos entender o que isso significa e como escrever código recursivo evitando esse problema!

Continuar lendo →