Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FCPC 2025
Algoritmos e Estrutura de Dados›Estrutura de Dados
Código
qg457037
Banca
FCPC
Órgão
UFC
Ano
2025
Nível
Médio
Cargo
Técnico de Tecnologia da Informação / Área: Desenvolvimento de Multimídia
Em um jogo digital, é comum a exibição de uma listagem contendo informações sobre os jogadores que obtiveram as N maiores pontuações, sendo normalmente N um número menor que a quantidade total de jogadores com pontuação registrada no jogo (Galeria da Fama). Essa listagem é ordenada, em ordem decrescente de pontuação obtida. A estrutura de dados mais indicada para montar a Galeria da Fama é:
APilha.
BDicionário.
CFila de prioridade.
DLista duplamente encadeada.
Revelar gabarito e comentário▾
GabaritoC — Fila de prioridade.
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”.
Estrutura de dados para Galeria da Fama
Gabarito: letra C. A fila de prioridade (priority queue) é a estrutura mais adequada para manter as N maiores pontuações em ordem decrescente, pois permite inserir novos elementos e extrair o maior (ou menor) com complexidade O(log N), ideal quando N é pequeno em relação ao total de jogadores.
A banca testa o conhecimento prático de estruturas de dados. Uma fila de prioridade (geralmente implementada como heap) resolve o problema de forma eficiente:
Insere-se cada pontuação em O(log N).
Se o tamanho ultrapassar N, remove-se o menor (em uma fila de prioridade mínima) para manter apenas os N maiores.
Ao final, a fila contém as N maiores pontuações, podendo ser extraídas em ordem decrescente.
As demais alternativas são menos adequadas:
Alternativa A — ❌ Incorreta
Pilha (stack) opera no modo LIFO (Last In, First Out). Não mantém ordenação por prioridade ou valor. Inserir e remover não garante que as maiores pontuações permaneçam; seria necessário buscar e reordenar manualmente, o que é ineficiente.
Alternativa B — ❌ Incorreta
Dicionário (hash table) associa chaves a valores, sem qualquer ordem inerente. Para obter as N maiores pontuações, seria preciso ordenar todos os valores, custando O(M log M) para M jogadores, além de consumir memória extra.
Alternativa C — ✅ Correta ⟵ GABARITO
Fila de prioridade mantém os elementos com base em sua prioridade (a pontuação). Com uma heap mínima de tamanho N, garante-se que apenas as N maiores pontuações sejam armazenadas, com inserção e remoção em O(log N). É a estrutura clássica para problemas de "top N" ou "ranking".
Alternativa D — ❌ Incorreta
Lista duplamente encadeada permite inserção e remoção rápidas apenas nas pontas. Para manter a ordem decrescente, a cada nova pontuação seria necessário percorrer a lista até a posição correta (O(N) no pior caso). Embora funcione, é menos eficiente que a fila de prioridade, especialmente para muitos acessos.
PEGA ESSA DICA!
Sempre que um problema pedir para selecionar os N maiores/menores elementos de um conjunto maior, pense em fila de prioridade (heap). É a solução otimizada e muito cobrada em concursos e entrevistas. Compare: