Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FGV 2024

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
fg084697
Banca
FGV
Órgão
EPE
Ano
2024
Nível
Superior
Cargo
Analista de Gestão Corporativa - Tecnologia da Informação (Soluções)
Com relação ao algoritmo de garbage collection (coleta de lixo) chamado mark-sweep (ou mark-and-sweep), analise as afirmativas a seguir.I. Na fase de marcar (mark), o coletor percorre o grafo de objetos e marca todos aqueles que são alcançáveis.II. Na fase de varrer (sweep), a memória ocupada pelos objetos marcados (na fase de marcação) é liberada.III. Os objetos marcados (na fase de marcação) são realocados.Está correto o que se afirma em
  1. AI, apenas.
  2. BI e II, apenas.
  3. CI e III, apenas.
  4. DII e III, apenas.
  5. EI, II e III.
Revelar gabarito e comentário

GabaritoA — I, apenas.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Algoritmo Mark-Sweep (Garbage Collection)

Gabarito: letra A. Apenas a afirmativa I está correta: na fase de marcação (mark), o coletor percorre o grafo de objetos e marca todos os alcançáveis. Na fase de varredura (sweep), a memória ocupada pelos objetos não marcados (não alcançáveis) é liberada — e não a dos marcados, como afirma a afirmativa II. A afirmativa III também está errada, pois o algoritmo mark-sweep não realiza realocação de objetos; realocação é característica de algoritmos como mark-compact.

A banca explora um equívoco comum: inverter o alvo da liberação na fase sweep. Enquanto a fase mark identifica o que deve ser preservado (objetos alcançáveis), a fase sweep descarta o que não foi marcado (lixo). É o oposto do que diz a afirmativa II.

  1. 1Mark: marca alcançáveis
  2. 2Sweep: libera NÃO marcados
  3. 3Realoca objetos
LEVEL · soulevel.com.br

Item I — ✅ Correto

A afirmativa descreve corretamente a fase de marcação: percorrer o grafo de objetos a partir das raízes e marcar todos que são alcançáveis. Esse é o propósito da fase mark.

Item II — ❌ Incorreto

A afirmativa inverte a lógica: na fase sweep, a memória ocupada pelos objetos não marcados (não alcançáveis) é liberada, e não a dos marcados. Os objetos marcados são mantidos.

Item III — ❌ Incorreto

Objetos marcados não são realocados no algoritmo mark-sweep. Realocação (ou compactação) é uma etapa adicional presente em algoritmos como mark-compact ou copying collection, que visam eliminar fragmentação. O mark-sweep tradicional apenas marca e depois varre, sem mover objetos.

Fase

O que faz

O que acontece com a memória

Mark

Percorre o grafo e marca objetos alcançáveis

Nenhuma liberação

Sweep

Varre a memória e libera objetos não marcados

Libera espaço de objetos não alcançáveis

Conclusão: apenas o item I está correto.

Gabarito: letra A — corresponde a "I, apenas".

Link permanente: /questoes/fg084697