Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — IF-SP 2026
Algoritmos e Estrutura de Dados›Estrutura de Dados
Código
qg710299
Banca
IF-SP
Órgão
IF-SP
Ano
2026
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Uma livraria precisa gerenciar seu catálogo digital onde novos títulos são constantemente adicionados e livros esgotados são removidos. É essencial que as operações de inserção, remoção e busca por títulos sejam rápidas (idealmente em tempo logarítmico) para não impactar as vendas. O sistema deve manter os livros sempre em ordem alfabética.Nesse contexto, qual estrutura de dados é mais adequada para atender a esses requisitos de um catálogo dinâmico e ordenado?
AArray ordenado
BLista ligada
CFila de prioridade
DÁrvore binária de busca
Revelar gabarito e comentário▾
GabaritoD — Árvore binária de busca
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 catálogo dinâmico e ordenado
Gabarito: letra D — Árvore binária de busca. A árvore binária de busca (ABB) oferece operações de inserção, remoção e busca em tempo O(log n) no caso médio, mantendo os elementos ordenados (percurso in-order). É a escolha clássica para catálogos dinâmicos que exigem eficiência logarítmica em todas as operações e ordenação contínua.
A questão testa a complexidade assintótica e a adequação funcional de cada estrutura aos requisitos: dinamicidade (inserções e remoções frequentes), busca rápida (ideal O(log n)) e manutenção da ordem alfabética.
Alternativa A — ❌ Incorreta
Array ordenado — a busca binária é O(log n), mas inserção e remoção são O(n) devido ao deslocamento de elementos. Não atende ao requisito de operações rápidas em um catálogo dinâmico.
Alternativa B — ❌ Incorreta
Lista ligada — inserção e remoção são O(1) se o nó for conhecido, mas a busca por um título é O(n) (percorre toda a lista). Não oferece tempo logarítmico para busca.
Alternativa C — ❌ Incorreta
Fila de prioridade (heap) — inserção e remoção do extremo são O(log n), mas a busca por um elemento arbitrário é O(n) (não há ordenação total). Além disso, a ordem não é completamente alfabética, apenas a prioridade (menor/maios). Não serve para busca por qualquer título.
Alternativa D — ✅ Correta ⟵ GABARITO
Árvore binária de busca (ABB) — quando balanceada (ou mesmo em média), as operações de inserção, remoção e busca são O(log n). A estrutura mantém a ordem alfabética automaticamente (o percurso in-order visita os elementos em ordem crescente). É a opção mais adequada para um catálogo que precisa ser dinâmico e ordenado com eficiência logarítmica.
PEGA ESSA DICA!
Na prática, para garantir O(log n) no pior caso, utiliza-se uma ABB balanceada (AVL, rubro-negra, etc.). A questão, porém, considera o caso médio da ABB simples, e a banca espera que você reconheça que, dentre as opções, a ABB é a única que combina busca e modificação logarítmicas com ordenação intrínseca.