Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — IF-SP 2026

Algoritmos e Estrutura de DadosEstrutura 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?
  1. AArray ordenado
  2. BLista ligada
  3. CFila de prioridade
  4. 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.

Gabarito: letra D.

Link permanente: /questoes/qg710299