Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FCPC 2025

Algoritmos e Estrutura de DadosEstrutura de Dados
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
O uso de índices em bancos de dados relacionais pode otimizar o desempenho de consultas, permitindo acesso mais rápido aos dados e, portanto, reduzindo tempo de processamento. Diferentes tipos de consultas possuem diferentes necessidades do ponto de vista da estrutura do índice. Para consultas por intervalo, como por exemplo, idade >= 25 AND idade < 30, qual melhor estrutura de dados para o índice?
  1. APilha
  2. BHeap
  3. CÁrvore B+
  4. DTabela Hash
Revelar gabarito e comentário

GabaritoC — Árvore B+

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”.

Índices em bancos de dados relacionais e consultas por intervalo

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:

Índices para consulta por intervalo
  • 1Requisitos
    • Ordenação dos dados
    • Busca logarítmica
    • Varredura sequencial eficiente
  • 2Estruturas
    • Pilha (LIFO)
      • Não suporta busca
    • Heap (max/min)
      • Sem ordenação completa
    • Árvore B+
      • Folhas encadeadas
      • Busca O(log n)
      • Varredura sequencial
    • Tabela Hash
      • Busca exata O(1)
      • Sem ordenação
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

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.

Alternativa B — ❌ Incorreta

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.

Alternativa C — ✅ Correta ⟵ GABARITO

Á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.

Alternativa D — ❌ Incorreta

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.

PEGA ESSA DICA!

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