Questão nº 41
Questão de Administração de Banco de Dados · FGV MPAL 2018 (nº 41)
Em uma árvore B de ordem d, onde cada nó que não o raiz possui entre d e 2d chaves, estão armazenadas 30.000 chaves.
Sabendo-se que d=8, assinale a opção que indica o número máximo de nós visitados para a localização de uma chave.
- A3
- B5 (alternativa correta)
- C7
- D15
- E15.000
Resposta comentada
Gabarito Alternativa B
A busca em uma Árvore B sempre começa na raiz e desce até encontrar a chave ou chegar a um nó folha. O número máximo de nós visitados corresponde à altura da árvore mais um (contando a raiz). Para maximizar a altura de uma árvore com um certo número de chaves, os nós devem estar o mínimo possível preenchidos.
- (A) Incorreta: Uma altura de 2 (3 nós visitados) seria para uma árvore com um número muito menor de chaves, ou uma árvore muito mais cheia. Com 30.000 chaves e , o mínimo de chaves para altura 2 é 161.
- (B) Correta: Para encontrar o número máximo de nós visitados, precisamos determinar a altura máxima () que uma Árvore B com 30.000 chaves pode ter. A altura máxima ocorre quando os nós estão minimamente preenchidos.
- Propriedades da Árvore B de ordem d:
- Cada nó (exceto a raiz) tem no mínimo d chaves e d+1 filhos.
- A raiz tem no mínimo 1 chave e 2 filhos (se não for folha).
- Dado , cada nó (não raiz) tem no mínimo 8 chaves e 9 filhos.
- Fórmula para o número mínimo de chaves () em uma árvore de altura :
Onde é a altura da árvore (número de arestas da raiz até a folha mais distante). - Substituindo :
N_{min}(h) = 1 + 2 \times ((8+1)^h - 1) = 1 + 2 \times (9^h - 1)\ - Encontrando o maior para 30.000 chaves:
Queremos o maior tal que :
9^h \le 15000.5\ - Testando potências de 9:
O maior valor de que satisfaz é .
- Número de nós visitados:
O número de nós visitados é . Portanto, $4+1=5$ nós.
- Propriedades da Árvore B de ordem d:
- (C) Incorreta: Uma altura de 6 (7 nós visitados) exigiria um número mínimo de chaves de , o que é muito maior que 30.000.
- (D) Incorreta: Este valor não corresponde à lógica de altura de uma Árvore B. Pode ser um distrator relacionado ao número máximo de chaves em um nó ($2d-1 = 15) ou filhos (\2d+1 = 17$).
- (E) Incorreta: (Distrator mais tentador) Este valor (15.000) é a metade do número total de chaves (30.000 / 2). A armadilha aqui é pensar que a busca em uma Árvore B é linear ou que o número de nós visitados seria uma fração direta do total de chaves, o que é incorreto. A busca em Árvores B, como em outras árvores balanceadas, tem complexidade logarítmica, ou seja, o número de nós visitados cresce muito mais lentamente que o número de chaves.
Fonte: FGV MPAL 2018 Analista do Ministério Público - Administrador de Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.