Algoritmo de busca na árvore B
A busca em uma árvore B é um processo eficiente e organizado, onde seguimos o fluxo das páginas (nós) para localizar a chave desejada.
Funciona de forma semelhante a uma busca binária, mas em uma estrutura com múltiplas chaves por página.
Passo a Passo:
1. Comece na raiz
Inicie a busca na página raiz da árvore.
2. Compare a chave
Verifique as chaves na página atual.
Se a chave desejada estiver entre as chaves da página, você encontrou! Caso contrário, prossiga.
3. Escolha o próximo caminho
Cada chave em uma página separa os valores em intervalos.
Decida para qual filho (página) ir, com base no intervalo da chave que você está procurando:
- Se a chave desejada for menor que a menor chave, siga o ponteiro do filho à esquerda.
- Se a chave desejada estiver entre duas chaves, siga o ponteiro entre elas.
- Se a chave desejada for maior que a maior chave, siga o ponteiro do filho à direita.
4. Continue até encontrar ou esgotar:
Repita o processo até localizar a chave ou alcançar uma página folha.
Se chegar a uma folha e não encontrar a chave, isso significa que ela não está na árvore.
Exemplo:
Imagine uma árvore B de ordem 4, onde as páginas podem ter no máximo 3 chaves. A árvore está assim:
[10 | 20 | 30]
/ | | \
[2 | 5] [12 | 15] [22 | 25] [32 | 35]
Buscando a chave 15:
-
Comece na raiz:
. - 15 está entre 10 e 20, então siga para o segundo filho.
-
Chegue à página
. - Compare as chaves da página. 15 está presente! Busca concluída.
Buscando a chave 28:
-
Comece na raiz:
. - 28 está entre 20 e 30, então siga para o terceiro filho.
-
Chegue à página
. - Compare as chaves. 28 não está aqui.
- Como já estamos em uma folha, concluímos que 28 não está na árvore.