Introdução à programação e aos algoritmos
7 Recursão
Recursão
“Para entender recursão, você deve primeiro entender recursão.” Piada anônima sobre recursão
A recursão é uma técnica elegante de resolver determinada classe de problemas. Exige apenas certa ginástica mental para se entender o conceito. Não é difícil, uma vez que você tenha entendido o mecanismo.
Diversos problemas têm uma solução bem simples se usarmos esta técnica que é baseada no fato de que uma função pode chamar a si mesma. Nem todos os problemas podem ser resolvidos recursivamente e mesmo entre os que podem, alguns não ganham em velocidade ou clareza no uso desta técnica. Portanto, quero que você aprenda não apenas a usar a técnica recursiva, mas também a reconhecer quando é útil na solução de um problema.
Lembro-me de quando aprendi a técnica em curso de programação na universidade e passei a usá-la para todo problema, mesmo os que não lhe fossem pertinentes. Não foi perda de tempo. Aplicar a técnica em diversos problemas leva a um aprendizado mais sedimentado e com o tempo você começa a entender quando deve ou não usar a técnica.