Sobes.tech
Junior — Middle

Explique o conceito de funções recursivas e como elas funcionam

sobes.tech IA

Resposta da IA

Uma função recursiva é uma função que chama a si mesma para resolver um problema. Ela divide o problema em subproblemas mais simples do mesmo tipo, até atingir um caso base em que não são necessárias mais chamadas.

Princípio de funcionamento:

  • A função chama a si mesma com parâmetros modificados, aproximando a solução do caso base.
  • Quando o caso base é atingido, a função começa a retornar resultados ao longo da cadeia de chamadas.

Exemplo: cálculo do fatorial de um número n (n!)

def factorial(n):
    if n == 0:
        return 1  # caso base
    else:
        return n * factorial(n - 1)  # chamada recursiva

Aqui, factorial chama a si mesma com n-1, até chegar a 0, momento em que começa a retornar valores para cima na cadeia.

Recursão é útil para tarefas que se dividem naturalmente em sub-tarefas semelhantes, como percorrer árvores, calcular números de Fibonacci, ordenar, etc.