FC ConcursosFC Concursos

Questão FC670856

As linguagens de programação são responsáveis por tirar do papel os algoritmos criados pelo programador e por transformá‑los em programas para serem executados pelos computadores m

Linguagens de Programação

QUADRIX · 2025

As linguagens de programação são responsáveis por tirar do papel os algoritmos criados pelo programador e por transformá‑los em programas para serem executados pelos computadores modernos. Considerando essa informação, julgue o item seguinte.

 

Em Java, a recursão é uma técnica comum, na qual uma função pode se chamar repetidamente até atingir uma condição de parada, sendo utilizada em problemas como pesquisa binária e algoritmos de divisão e conquista.

Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A afirmação é correta porque em Java a recursão consiste em um método recursivo chamar a si mesmo repetidamente até encontrar uma condição de parada. Sem essa condição o programa entra em loop e pode ocorrer estouro de pilha.

Na busca binária o problema é dividido reduzindo o intervalo pela metade a cada chamada, isto é, \(n \to n/2\), o que gera complexidade típica \(O(\log n)\). Cada chamada recursiva trata uma subfaixa do array ordenado até localizar o elemento ou concluir que não existe.

Em algoritmos de divisão e conquista como o merge sort, o array é quebrado em subproblemas menores, cada um resolvido recursivamente e então combinados. A recorrência típica é \(T(n)=2T(n/2)+O(n)\), resultando em \(O(n\log n)\).

Portanto, recursão em Java é apropriada e amplamente usada nesses casos, desde que haja uma condição de parada bem definida e controle do custo de chamadas.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo