Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FCPC 2025
- Código
- qg456773
- Banca
- FCPC
- Órgão
- UFC
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação / Área: Ciência de Dados
- APilha
- BHeap
- CÁrvore B+
- DTabela Hash
GabaritoC — Árvore B+
Gabarito: letra C. A Árvore B+ é a estrutura de dados padrão para índices em bancos de dados relacionais, sendo especialmente eficiente em consultas por intervalo, pois mantém os registros ordenados e permite percorrer as folhas sequencialmente.
Em consultas por intervalo (ex.: idade >= 25 AND idade < 30), é necessário acessar uma faixa contígua de valores. A estrutura ideal deve oferecer:
Ordenação dos dados para permitir buscas por faixa;
Complexidade logarítmica para busca;
Eficiência na varredura sequencial.
Analisemos cada alternativa:
Pilha: estrutura LIFO (Last In, First Out). Não suporta buscas eficientes, muito menos por intervalo. Seu uso é para problemas como reversão de sequências, não para indexação.
Heap: estrutura de árvore binária que mantém o maior (max-heap) ou menor (min-heap) elemento no topo. Não mantém ordenação completa e não permite buscas eficientes por valor ou intervalo. Usada para filas de prioridade, não para índices.
Árvore B+: uma árvore balanceada de busca, com todas as chaves nas folhas, que são encadeadas entre si. Isso permite:
Busca por chave única em O(log n);
Varredura sequencial eficiente das folhas para consultas por intervalo;
Otimização para operações de leitura em disco (alta fan-out).
É a estrutura mais comumente usada em índices de bancos de dados relacionais.
Tabela Hash: oferece busca em O(1) para chaves exatas, mas não preserva ordenação. Para consultas por intervalo, seria necessário escanear toda a tabela, perdendo a eficiência. Não adequada para índices de intervalo.
Lembre-se: para buscas exatas, Tabela Hash é imbatível. Para buscas por intervalo (faixa de valores, ordenação), a Árvore B+ (ou B-Tree) é a escolha padrão em bancos de dados relacionais.
Gabarito: letra C.
Link permanente: /questoes/qg456773