Escolar Documentos
Profissional Documentos
Cultura Documentos
Estrutura de Dados
Árvores B+
Alexandre e Hugo
André Luis Schwerz
andreluis@utfpr.edu.br
1
Agenda
● Motivação
● Característica e Regras
● Árvore Binária vs Árvore B+
● Implementação
○ Busca
○ Inserção
○ Remoção
● Exercícios
2
Motivação
3
Motivação
4
Árvore B+
5
Árvore B+
6
Nó
#define TAMANHO 4
7
Árvore Binária
3
[3, 5, 7, 11, 20, 23, 27, 45, 47]
5
Apresentar os números 7
existentes de 11 a 45 11
20
23
27
45
47
8
Árvore AVL
[3, 5, 7, 11, 20, 23, 27, 45, 47]
11
Apresentar os números 5 23
existentes de 11 a 45
3 7 20 45
27 47
9
Árvore B
[3, 5, 7, 11, 20, 23, 27, 45, 47]
11
Apresentar os números
existentes de 11 a 45
5 23 45
3 7 20 27 47
10
Árvore B+
7 26
3
5 11 22 45
2 4 5 7 11 19 22 26 45 47
11
Características
12
Regras
13
Árvore B+
7 26
3
5 11 22 45
2 4 5 7 11 19 22 26 45 47
14
Mestrado em Ciência da Computação
Estrutura de Dados
Implementações
15 35 45
5 15 20 25 30 35 40 45 55
16
Busca - Buscar 45
25
15 35 45
5 15 20 25 30 35 40 45 55
17
Busca - Buscar 45
25
15 35 45
5 15 20 25 30 35 40 45 55
18
Busca - Buscar 45
25
15 35 45
5 15 20 25 30 35 40 45 55
19
Busca - Buscar 45
25
15 35 45
5 15 20 25 30 35 40 45 55
20
Busca - Buscar 45
25
15 35 45
5 15 20 25 30 35 40 45 55
21
Busca - Buscar 45
25
15 35 45
5 15 20 25 30 35 40 45 55
22
Inserção
- Nós intermediários só contém sinalizadores
- Registros completos estão na folha
- Os Nós contêm a chave de pesquisa
23
Inserção - Adicionando o 5
24
Inserção - Adicionando o 5
25
Inserção - Adicionando o 15
5 15
26
Inserção - Adicionando o 15
5 15
27
Inserção - Adicionando o 25
5 15 25
28
Inserção - Adicionando o 25
SPLIT
5 15 25
29
Inserção - Adicionando o 25
15
5 15 25
30
Inserção - Adicionando o 25
15
5 15 25
31
Inserção - Adicionando o 35
15
5 15 25
32
Inserção - Adicionando o 35
15
5 15 25 35
33
Inserção - Adicionando o 35
15
SPLIT
5 15 25 35
34
Inserção - Adicionando o 35
15 25
5 15 25 35
35
Inserção - Adicionando o 35
15 25
5 15 25 35
36
Inserção - Adicionando o 45
15 25
5 15 25 35
37
Inserção - Adicionando o 45
15 25
5 15 25 35 45
38
Inserção - Adicionando o 45
15 25
SPLIT
5 15 25 35 45
39
Inserção - Adicionando o 45
15 25 35
5 15 25 35 45
40
Inserção - Adicionando o 45
15 25 35
5 15 25 35 45
41
Inserção - Adicionando o 45
15 25 35
SPLIT
5 15 25 35 45
42
Inserção - Adicionando o 45
15 25 35
5 15 25 35 45
43
Inserção - Adicionando o 45
25
15 35
5 15 25 35 45
44
Inserção - Adicionando o 45
25
15 35
5 15 25 35 45
45
Remoção
- Há 3 casos e 6 cenários
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 1: Existem mais de 1 item no nó
- Cenário 2: Existe apenas 1 item no nó
- Caso 2: A chave excluída existe nos nós índices
- Cenário 1: Existem mais de 1 item no nó índice e no nó folha
- Cenário 2: Existem apenas 1 item no nó folha
- Cenário 3: Espaço vazio é gerado acima do nó pai
- Caso 3: Altura da árvore diminui
46
Exclusão - Caso 1 - Cenário 1
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 1: Existem mais de 1 item no nó
25
15 35
5 15 25 35 45
47
Exclusão - Caso 1 - Cenário 1
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 1: Existem mais de 1 item no nó
25
15 35
5 15 25 35 45
48
Exclusão - Caso 1 - Cenário 1
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 1: Existem mais de 1 item no nó
25
15 35
5 15 25 35 X
45
49
Exclusão - Caso 1 - Cenário 1
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 1: Existem mais de 1 item no nó
25
15 35
5 15 25 35
50
Exclusão - Caso 1 - Cenário 2
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 2: Existe apenas 1 item no nó
25
15 35
5 15 25 35
51
Exclusão - Caso 1 - Cenário 2
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 2: Existe apenas 1 item no nó
25
15 35
5 15 25 35
52
Exclusão - Caso 1 - Cenário 2
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 2: Existe apenas 1 item no nó
25
15 35
X
5 15 25 35
53
Exclusão - Caso 1 - Cenário 2
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 2: Existe apenas 1 item no nó
25
15 35
15 25 35
54
Exclusão - Caso 1 - Cenário 2
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 2: Existe apenas 1 item no nó
25
15 35
15 25 35
55
Exclusão - Caso 1 - Cenário 2
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 2: Existe apenas 1 item no nó
25
15 35
15 25 35
56
Exclusão - Caso 1 - Cenário 2
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 2: Existe apenas 1 item no nó
25 35
15 25 35
57
Exclusão - Caso 1 - Cenário 2
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 2: Existe apenas 1 item no nó
25 35
15 25 35
58
Exclusão - Caso 1 - Cenário 2
- Caso 1: O item a ser excluído está presente APENAS no nó folha
- Cenário 2: Existe apenas 1 item no nó
25 35
15 25 35
59
Exclusão - Caso 2 - Cenário 1
- Caso 2: A chave excluída existe nos nós índices
- Cenário 1: Existem mais de 1 item no nó índice e no nó folha
15 20
5 15 20 25
60
Exclusão - Caso 2 - Cenário 1
- Caso 2: A chave excluída existe nos nós índices
- Cenário 1: Existem mais de 1 item no nó índice e no nó folha
15 20
5 15 20 25
61
Exclusão - Caso 2 - Cenário 1
- Caso 2: A chave excluída existe nos nós índices
- Cenário 1: Existem mais de 1 item no nó índice e no nó folha
15 20
5 15 25
62
Exclusão - Caso 2 - Cenário 1
- Caso 2: A chave excluída existe nos nós índices
- Cenário 1: Existem mais de 1 item no nó índice e no nó folha
15 25
5 15 25
63
Exclusão - Caso 2 - Cenário 2
- Caso 2: A chave excluída existe nos nós índices
- Cenário 2: Existem apenas 1 item no nó folha
25
20 30 35
15 20 25 30 35 55
64
Exclusão - Caso 2 - Cenário 2
- Caso 2: A chave excluída existe nos nós índices
- Cenário 2: Existem apenas 1 item no nó folha
25
20 30 35
15 20 25 30 35 55
65
Exclusão - Caso 2 - Cenário 2
- Caso 2: A chave excluída existe nos nós índices
- Cenário 2: Existem apenas 1 item no nó folha
25
20 30 35
15 20 25 35 55
66
Exclusão - Caso 2 - Cenário 2
- Caso 2: A chave excluída existe nos nós índices
- Cenário 2: Existem apenas 1 item no nó folha
25
20 35
15 20 25 35 55
67
Exclusão - Caso 2 - Cenário 2
- Caso 2: A chave excluída existe nos nós índices
- Cenário 2: Existem apenas 1 item no nó folha
25
20 35
15 20 25 35 55
68
Exclusão - Caso 2 - Cenário 2
- Caso 2: A chave excluída existe nos nós índices
- Cenário 2: Existem apenas 1 item no nó folha
25
20 35 55
15 20 25 35 55
69
Exclusão - Caso 2 - Cenário 3
- Caso 2: A chave excluída existe nos nós índices
- Cenário 3: Espaço vazio é gerado acima do nó pai
25
20
30 35
15 20 25 30 35 55
70
Exclusão - Caso 2 - Cenário 3
- Caso 2: A chave excluída existe nos nós índices
- Cenário 3: Espaço vazio é gerado acima do nó pai
25
20
30 35
15 20 25 30 35 55
71
Exclusão - Caso 2 - Cenário 3
- Caso 2: A chave excluída existe nos nós índices
- Cenário 3: Espaço vazio é gerado acima do nó pai
25
20
30 35
15 20 30 35 55
72
Exclusão - Caso 2 - Cenário 3
- Caso 2: A chave excluída existe nos nós índices
- Cenário 3: Espaço vazio é gerado acima do nó pai
30
20
35
15 20 30 35 55
73
Exclusão - Caso 2 - Cenário 3
- Caso 3: Altura da árvore diminui
30
20
55
15 20 30 55
74
Exclusão - Caso 2 - Cenário 3
- Caso 3: Altura da árvore diminui
30
20
55
15 20 30 55
75
Exclusão - Caso 2 - Cenário 3
- Caso 3: Altura da árvore diminui
30
20
15 20 30
76
Exclusão - Caso 2 - Cenário 3
- Caso 3: Altura da árvore diminui
20 30
15 20 30
77
Exercícios
78