Escolar Documentos
Profissional Documentos
Cultura Documentos
• Definições
– Árvores Binárias de Pesquisa têm no máximo 2 nós.
– Quando existem 2 ou mais nós, passam a ser chamadas de n-
árias
– Nesses casos, os nós são mais comumente chamados de páginas
– Os registros de uma árvore B também são todos ordenados
• Supondo uma árvore B n-ária. Em um árvore B de ordem m
temos:
– Cada página contém:
• Registros: no mínimo m e no máximo 2m registros , exceto a raiz,
que pode conter entre 1 e 2m registros;
• Descendentes: no mínimo m + 1 descendentes e no máximo
2m +1 descendentes
– Todas as páginas folhas aparecem no mesmo nível
Exemplo de uma árvore B
30
10 20 Páginas 40 50
3489 11 13 17 25 28 33 36 43 45 48 52 55
Declaração do TAD Árvores B
• Definição da Estrutura
• Definição das operações. Algumas das operações
que podem ser feitas em árvores B são:
– Inicializa
– Pesquisa
– Insere
– Retira
Pesquisa em Árvore B
30
10 20 40 50
3489 11 13 17 25 28 33 36 42 45 48 52 55
Pesquisa em Árvore B
30
10 20 40 50
3489 11 13 17 25 28 33 36 42 45 48 52 55
Inserção
Registro 9
40
Registro 45
Registro 50
348 9 41 43 45 50
Inserção de Registros
Caso 2: O registro precisa ser inserido em uma página já cheia (com 2m registros),
e a página pai tem menos que 2m registros e 2m+1 páginas
Ordem: 2
40 40
Registro 20
348 9 20 41 43 45 50 3 4 8 9 20 41 43 45 50
8 40
40
3 4 8 9 20 41 43 45 50
34 9 20 41 43 45 50
Inserção de Registros
Caso 2: O registro precisa ser inserido em uma página já cheia (com 2m registros),
e a página pai já tem 2m registros e 2m+1 páginas
Ordem: 2
8 20 28 40
Registro 22
1347 9 13 15 18 21 23 25 26 30 33 35 37 41 43 45 50
22
8 20 28 40
1347 9 13 15 18 21 22 23 25 26 30 33 35 37 41 43 45 50
8 20 23 28 40
1347 9 13 15 18 21 22 25 26 30 33 35 37 41 43 45 50
23
8 20 28 40
1347 9 13 15 18 21 22 25 26 30 33 35 37 41 43 45 50
Remoção
23
8 20 28 40
1347 9 13 15 18 21 22 25 26 30 33 35 37 41 43 45 50
8 20 28 40
134 9 18 21 22 25 26 30 35 45 50
23
4 20 28 40
13 8 18 21 22 25 26 30 35 45 50
23 Registro 18
8 19 28 40
134 9 18 20 21 22 25 26 30 35 45 50
23
8 20 28 40
134 8 19 21 22 25 26 30 35 45 50
Remoção de Registros
Caso 1.3: quando o registro se encontra em uma página folha, a folha e seus
irmãos possuem m registros (mínimo possível). Se sub-dividem em dois
casos:
• Caso 1.3.1: O pai pode emprestar registros
•Caso 1.3.2: O pai não pode emprestar registros
Remoção de Registros
Caso 1.3.1: quando o registro se encontra em uma página folha, a folha e seus
irmãos possuem m registros (mínimo possível) e o pai pode emprestar
Ordem 2 23
Registro 6 4 10 20 28 40
13 68 13 18 21 22 25 26 30 35 45 50
23
10 20 28 40
1348 13 18 21 22 25 26 30 35 45 50
Se os dois irmãos de X contiverem exatamente m registros (ocupação
mínima), nenhum registro poderá ser emprestado. Neste caso, o nó X e um de
seus irmãos (à esquerda ou direita) são concatenados em um único nó, que
também contém a chave separadora do pai.
Remoção de Registros
Caso 1.3.1: quando o registro se encontra em uma página folha, a folha e seus
irmãos possuem m registros (mínimo possível) e o pai pode emprestar
Ordem 2 23
Registro 8 4 10 20 28 40
13 68 13 18 21 22 25 26 30 35 45 50
23
4 20 28 40
13 6 10 13 18 21 22 25 26 30 35 45 50
Remoção de Registros
Caso 1.3.1: quando o registro se encontra em uma página folha, a folha e seus
irmãos possuem m registros (mínimo possível) e o pai pode emprestar
Ordem 2 23
Registro 22 4 10 20 28 40
13 68 13 18 21 22 25 26 30 35 45 50
23
4 10 28 40
13 68 13 18 20 21 25 26 30 35 45 50
Remoção de Registros
Caso 1.3.2: quando o registro se encontra em uma página folha, a folha e seus
irmãos possuem m registros (mínimo possível) e o pai não pode emprestar
Ordem 2
Registro 13
23
10 20 28 40
48 13 18 21 22 25 26 30 35 45 50
23
10 20 28 40
48 13 18 21 22 25 26 30 35 45 50
23
20 28 40
4 8 10 18 21 22 25 26 30 35 45 50 20 23 28 40
4 8 10 18 21 22 25 26 30 35 45 50
Remoção de Registros
Outro exemplo: Árvore B de ordem 1
Registro 3
10
05 20
02 07 15 35
01 03 06 13
09 16 30 40
10
05 20
07 15 35
01 02 06 09 13 16 30 40
Remoção de Registros
10
05 20
07 15 35
10
01 02 06 09 13 16 30 40
20
05 07 15 35
01 02 06 09 13 16 30 40
10 20
05 07 15 35
01 02 06 09 13 16 30 40
Remoção
20 24 28 40
Registro 20
4 8 10 18 21 22 23 25 26 30 35 45 50
21 24 28 40
OU
18 24 28 40
4 8 10 18 22 23 25 26 30 35 45 50
4 8 10 21 22 23 25 26 30 35 45 50
Remoção de Registros
23
Registro 20
4 20 28 37 40
13 6 18 21 22 25 26 45 50
30 35 38 39
23
28 37 40
4
13 6 18 21 22 25 26 30 35 38 39 45 50
Concatena-se o filho à esquerda e à direita do registro excluído; o registro mais à esquerda
(ou mais à direita) do irmão é promovido para a raiz e o registro à esquerda (ou à direita)
da raiz é inserido na página que teve o registro excluído; o filho à esquerda (ou o filho à
direita) do registro que foi emprestado passa a ser o filho à direita (ou à esquerda) do nó
para onde ele foi deslocado;
Remoção de Registros
23
28 37 40
4
13 6 18 21 22 25 26 30 35 38 39 45 50
28
4 23 37 40
13 6 18 21 22 25 26 30 35 38 39 45 50
Remoção de Registros
Caso 2.2.1: a sub-árvore vizinha NÃO possui registros para emprestar e o irmão
possui registros para emprestar
28
Registro 40
4 20 25 37 40
13 6 18 22 23 26 27 30 32 38 39 45 50
28
4 20 25 37
13 6 18 22 23 26 27 30 32 38 39 45 50
Remoção de Registros
28
4 20 25 37
13 6 18 22 23 26 27 30 32 38 39 45 50
25
4 20 28 37
13 6 18 22 23 26 27 30 32 38 39 45 50
Remoção de Registros
Caso 2.2.2: a sub-árvore vizinha NÃO possui registros para emprestar e o irmão
também NÃO possui registros para emprestar
28
Registro 23
4 23 37 40
13 6 18 25 26 30 35 45 50
28 4 28 37 40
4
37 40
13 6 18 25 26 30 35 45 50 13 6 18 25 26 30 35 45 50