Questão FC514953
No que se refere ao SonarQube, às estruturas de dados e à complexidade de algoritmos, julgue o item subsecutivo. Para gerenciar a ordem de execução de chamadas de função em um prog
Algoritmos e Lógica de Programação
CEBRASPE (CESPE) · 2025
No que se refere ao SonarQube, às estruturas de dados e à complexidade de algoritmos, julgue o item subsecutivo.
Para gerenciar a ordem de execução de chamadas de função em um programa recursivo, a estrutura de dados mais adequada é a pilha (stack), pois sua característica LIFO (last-in, first-out) espelha o fluxo de execução em que a última função chamada é a primeira a finalizar sua execução e retornar.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
A afirmação é certa porque a execução de chamadas de função em tempo de execução é gerida por uma pilha de ativação. Cada vez que há uma chamada de função o sistema adiciona ao topo da pilha um registro (o quadro de ativação) com variáveis locais, endereço de retorno e estado.
Em uma rotina recursiva isso se repete: cada invocação empilha um novo quadro. Quando uma chamada termina, seu quadro é removido (pop) e o controle retorna ao quadro anterior. Esse comportamento é exatamente o de uma pilha LIFO (last-in, first-out), pois a última chamada empilhada é a primeira a finalizar.
Assim, para gerenciar a ordem de execução em recursão, a estrutura natural e mais adequada é a stack. Note que profundidades muito grandes podem causar stack overflow.
Conteúdo do catálogo FC Concursos · Atualizado em