Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — IBFC 2023

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
qq936063
Banca
IBFC
Órgão
SAEB-BA
Ano
2023
Nível
Superior
Cargo
Analista Técnico - Tecnologia da Informação (Desenvolvimento)
Estruturas de dados como listas, filas, pilhas e árvores são bastante utilizadas em algoritmos, a fim de organizar os dados conforme são inseridos nestas estruturas. Assinale a alternativa que apresenta a estrutura mais adequada para implementar uma fila prioritária em que os elementos são removidos com base em sua prioridade.
  1. AFila
  2. BÁrvore de prioridade
  3. CPilha
  4. DLista
Revelar gabarito e comentário

GabaritoB — Árvore 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”.

Fila prioritária: implementação com árvore de prioridade

Gabarito: letra B. A estrutura mais adequada para implementar uma fila prioritária (priority queue) é a árvore de prioridade (heap), pois permite remover o elemento de maior (ou menor) prioridade de forma eficiente, enquanto as demais estruturas não oferecem essa garantia com a mesma complexidade.

A fila prioritária é um tipo abstrato de dado em que cada elemento possui uma prioridade, e o elemento com maior prioridade é sempre removido primeiro. A implementação clássica e mais eficiente utiliza uma árvore binária especial chamada heap (árvore de prioridade), que garante inserção e remoção em tempo O(log n).

Alternativa A — ❌ Incorreta

A fila comum opera sob o princípio FIFO (first-in, first-out), onde o primeiro elemento inserido é o primeiro a ser removido, sem considerar qualquer prioridade. Portanto, não é adequada para uma fila prioritária.

Alternativa B — ✅ Correta ⟵ GABARITO

A árvore de prioridade (heap) é a estrutura projetada exatamente para implementar filas prioritárias. Ela mantém o elemento de maior (ou menor) prioridade na raiz, permitindo remoções e inserções eficientes com complexidade O(log n).

Alternativa C — ❌ Incorreta

A pilha segue o princípio LIFO (last-in, first-out), onde o último elemento inserido é o primeiro a ser removido. Não há qualquer relação com prioridade, sendo totalmente inadequada.

Alternativa D — ❌ Incorreta

Uma lista (seja sequencial ou encadeada) permite inserção e remoção em qualquer posição, mas não oferece uma operação nativa de remoção baseada em prioridade. Seria necessário manter a lista ordenada, o que torna as operações menos eficientes que a árvore de prioridade.

NÃO CAIA NESSA!

O termo "fila prioritária" pode induzir o candidato a marcar "Fila", mas a fila comum (FIFO) não atende ao requisito de prioridade. A banca explora essa confusão entre o nome do TAD e a estrutura de dados concreta.

Gabarito: letra B.

Link permanente: /questoes/qq936063