Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — IBFC 2023
Algoritmos e Estrutura de Dados›Estrutura 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.
AFila
BÁrvore de prioridade
CPilha
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.