SóProvas


ID
1395913
Banca
FGV
Órgão
PROCEMPA
Ano
2014
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Os bancos de dados, em sua organização física, baseiam-se em árvores B-trees (e suas variantes) para a implementação de índices. Analise as comparações a seguir entre B-trees e índices baseados em funções de hashing.

I. B-trees são mais rápidas na localização de um registro a partir de uma chave.

II. B-trees permitem busca com operadores de comparação “>” e “<”.

III. B-trees permitem busca a partir de uma substring à esquerda da chave.

IV. A partir de um certo ponto, o número máximo de acessos necessários para a localização de uma chave em uma B-tree não aumenta com o número total de chaves indexadas, o que tende a torná-la mais rápida em bancos de dados muito grandes.

Assinale a opção que indica o número de comparações corretas.

Alternativas
Comentários
  • Uma árvore B é uma estrutura de dados projetada para funcionar especialmente em memória secundária como um disco magnético ou outros dispositivos de armazenamento secundário. Dentre suas propriedades ela permite a inserção, remoção e busca de chaves numa complexidade de tempo logarítmica e, por esse motivo, é muito empregada em aplicações que necessitam manipular grandes quantidades de informação tais como um banco de dados ou um sistema de arquivos. 

    Se analisarmos as árvores B, elas são uma generalização das árvores binária de busca, pois cada nó de uma árvore binária armazena uma única chave de busca, enquanto as árvores B armazenam um número maior do que um de chaves de busca em cada nó, ou no termo mais usual para essa árvore, em cada página. Como a idéia principal das árvores B é trabalhar com dispositivos de memória secundária, quanto menos acessos a disco a estrutura de dados proporcionar, melhor será o desempenho do sistema na operação de busca sobre os dados manipulados.


  • c-

    In computer science, a B-tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree generalizes the binary search tree, allowing for nodes with more than two children. Unlike other self-balancing binary search trees, the B-tree is well suited for storage systems that read and write relatively large blocks of data, such as disks. It is commonly used in databases and file systems.

    https://en.wikipedia.org/wiki/B-tree

    B-trees favorecem consultas que buscam chaves num determinado intervalo (operadores >= e <=). Tambem são usualmente mais lentos para buscas pela chave (operador =).

  • I. B-trees são mais rápidas na localização de um registro a partir de uma chave. (correto)

    II. B-trees permitem busca com operadores de comparação “>” e “<”. (correto, mesmo que a questão esteja meio certo, não significa que esteja errado. Pois, comparamos com <= e >=).

    III. B-trees permitem busca a partir de uma substring à esquerda da chave.(Errado, a busca começa pela raiz e imerge para os nós a esquerda)

    IV. A partir de um certo ponto, o número máximo de acessos necessários para a localização de uma chave em uma B-tree não aumenta com o número total de chaves indexadas, o que tende a torná-la mais rápida em bancos de dados muito grandes. (Errado, pois de acordo com o tamanho da árvore poderemos ter mais ou menos acessos necessários para chegar a chave de busca.)