2. Extrato
Organização de Arquivos
Arquivos Sequenciais Desordenados
Arquivos Sequenciais Ordenados Fisicamente
Arquivos Sequenciais Ordenados por Link
Arquivos Diretos Mantidos por Dicionário de Dados
Arquivos Diretos Mantidos por Hashing
Arquivos Sequenciais Indexados
Recuperação de Chave Secundária – Multilista
Recuperação de Chave Secundária – Arquivos Invertidos
Recuperação de Chave Secundária – Árvores de Assinaturas
Estruturas de Busca em Texto
Árvores B e B+
UFS - DComp - Prof. Kenia Kodel 2
3. O que é
árvore?
UFS - DComp - Prof. Kenia Kodel 3
4. Conhece os termos
ao lado?
Árvore: Terminologia
árvore nó grau folha nível
ramo raiz altura
UFS - DComp - Prof. Kenia Kodel 4
5. Árvore...
árvore binária
árvore binária de pesquisa
aplicações de árvores
O que você
sabe sobre... vantagens
árvores balanceadas
UFS - DComp - Prof. Kenia Kodel 5
6. Árvore B
As árvores B são árvores cujos critérios de
organização (crescimento / armazenamento
de dados) as conservam balanceadas.
Apresentam crescimento bottom up – das folhas
para a raiz.
UFS - DComp - Prof. Kenia Kodel 6
7. Árvore B
Cada nó de uma árvore B tem mais de uma
entrada e múltiplas descendências.
Em cada entrada é mantido registro de
dados; apesar de nestes slides serem
apresentadas apenas as chaves de busca.
astro caju
UFS - DComp - Prof. Kenia Kodel 7
8. Árvore B
O tamanho dos nós das árvores B é
determinado pela capacidade de
armazenamento da memória principal.
astro caju
UFS - DComp - Prof. Kenia Kodel 8
9. Árvore B
Para alguns estudiosos, as árvores B nasceram da
paginação (blocos de nós) das árvores binárias de busca.
UFS - DComp - Prof. Kenia Kodel 9
10. Árvore B
Numa árvore B de ordem x:
1. Todos os nós, exceto a raiz, devem
armazenar de x a 2x dados.
2. A raiz deve armazenar de 1 a 2x dados.
3. Todo nó ou é folha ou tem k+1
descendentes, onde k é o número de
dados mantidos no nó.
4. Todas as folhas devem apresentar-se
num mesmo nível.
UFS - DComp - Prof. Kenia Kodel 10
11. Árvore B
Numa árvore B de ordem x:
1. Todos os nós, exceto a Segue uma árvore B de ordem 1,
raiz, devem armazenar entretanto, vale esclarecer
de x a 2x dados.
que as árvores B, na prática,
2. A raiz deve armazenar
de 1 a 2x dados. são usadas para armazenar
3. Todo nó ou é folha ou grande quantidade de
tem k+1 descendentes, dados; apresentando, em
onde k é o número de geral, ordens elevadas.
dados mantidos no nó.
4. Todas as folhas devem
apresentar-se num cajá
mesmo nível.
astro caju
UFS - DComp - Prof. Kenia Kodel 11
12. Árvore B
Numa árvore B de ordem x:
1. Todos os nós, exceto a Importante observar que,
raiz, devem armazenar
de x a 2x dados. sendo uma árvores B de
2. A raiz deve armazenar ordem x, seus nós devem
de 1 a 2x dados. ser compostos por 2x
3. Todo nó ou é folha ou entradas para dados e
tem k+1 descendentes,
onde k é o número de 2x+1 apontadores.
dados mantidos no nó.
4. Todas as folhas devem
apresentar-se num cajá
mesmo nível.
astro caju
UFS - DComp - Prof. Kenia Kodel 12
13. Como efetuar
consulta em
árvore B?
UFS - DComp - Prof. Kenia Kodel 13
16. Como efetuar
inclusão em
árvore B?
UFS - DComp - Prof. Kenia Kodel 16
17. Inclusão
cajá gato
astro boca caju gota zebra
Como efetuar a
inclusão do dado loja
na árvore dada?
UFS - DComp - Prof. Kenia Kodel 17
18. Inclusão
cajá
astro caju
Como efetuar a inclusão
dos dados boca e loja na
árvore dada?
UFS - DComp - Prof. Kenia Kodel 18
19. Inclusão
caju
É possível estudar o processo de inserção
de dados em árvores B através da
construção, por exemplo, de uma árvore
de ordem 1 composta por: caju1, cajá2,
astro3, boca4, loja5, gato6, gota7, zebra8.
UFS - DComp - Prof. Kenia Kodel 19
20. Inclusão
1 caju
Inserindo cajá:
2 cajá caju
Há o deslocamento do primeiro valor
para manter a estrutura ordenada.
UFS - DComp - Prof. Kenia Kodel 20
21. Inclusão
2 cajá caju
Inserindo astro:
3 cajá caju
a st r o
Observa-se o estouro da capacidade de
armazenamento do nó implicando na
necessidade de crescimento da estrutura.
UFS - DComp - Prof. Kenia Kodel 21
22. Inclusão
2 cajá caju
Inserindo astro:
3 cajá
astro caju
Houve estouro da capacidade de armazenamento
do nó e consequente crescimento bottom up da
estrutura.
UFS - DComp - Prof. Kenia Kodel 22
24. Inclusão
Na inclusão de boca, compara-se esta com a raiz,
sendo menor, segue-se pela esquerda. Compara-
se a nova palavra com o valor encontrado: astro,
sendo maior, segue pela direita, havendo espaço,
faz-se a inclusão.
4e5 cajá
astro boca caju loja
UFS - DComp - Prof. Kenia Kodel 24
26. Inclusão
cajá
astro boca caju loja
gato
Há o estou da capacidade de armazenamento do nó
composto por caju||loja, então o elemento mediano
gato é remetido ao nível ascendente – crescimento
bottom up.
UFS - DComp - Prof. Kenia Kodel 26
30. Inclusão
gato
cajá loja
astro boca caju gota zebra
O estouro do nó gota||loja provoca o estouro do nó
ascendente cajá||gato.
UFS - DComp - Prof. Kenia Kodel 30
31. Como efetuar
exclusão em
árvore B?
UFS - DComp - Prof. Kenia Kodel 31
32. Exclusão
gato
cajá loja
astro boca caju gota zebra
Como efetuar a
exclusão do dado
boca na árvore dada?
UFS - DComp - Prof. Kenia Kodel 32
33. Exclusão
gato
cajá loja
astro caju gota loja
Como efetuar a
exclusão do dado gato
na árvore dada?
UFS - DComp - Prof. Kenia Kodel 33
34. Exclusão
O estudo da exclusão em árvores B pode ser
efetuado pelo acompanhamento do
processo de execução desta operação;
partindo, por exemplo, da árvore antes
construída.
UFS - DComp - Prof. Kenia Kodel 34
35. Exclusão gato
cajá loja
astro boca caju gota zebra
Importante ressaltar que, em toda e
qualquer operação de manipulação
de dados mantidos em árvore B, é
indispensável preservar suas
características.
UFS - DComp - Prof. Kenia Kodel 35
36. Exclusão
Excluindo boca:
gato
cajá loja
astro X
boca caju gota zebra
Este constitui um caso trivial, não provoca
nenhuma alteração na estrutura da árvore.
UFS - DComp - Prof. Kenia Kodel 36
37. Numa árvore B de ordem x:
1. Todos os nós, exceto a raiz, devem
armazenar de x a 2x dados.
Exclusão 2.
3.
A raiz deve armazenar de 1 a 2x
dados.
Todo nó ou é folha ou tem k+1
descendentes, onde k é o número
Excluindo cajá: 4.
de dados mantidos no nó.
Todas as folhas devem apresentar-
se num mesmo nível.
gato
X
cajá loja
astro boca caju gota zebra
A simples remoção da palavra violaria a definição de
árvore B. Então este é substituído pelo seu
antecessor imediato – o nó mais a direita do ramo da
esquerda. UFS - DComp - Prof. Kenia Kodel 37
38. Exclusão
Excluindo cajá: gato
X
cajá loja
astro boca caju gota zebra
Somente o antecessor
imediato pode substituir
um nó excluído?
UFS - DComp - Prof. Kenia Kodel 38
39. Exclusão
Excluindo caju: gato
cajá loja
astro boca X
caju gota zebra
Neste, o elemento não tem antecessor imediato, então faz-se uso do nó ascendente: cajá.
... ...
X
cajá boca
JÁ VISTO
astro boca cajá astro X
boca cajá
Árvore final: gato
boca loja
astro X
boca cajá gota
UFS - DComp - Prof. Kenia Kodel zebra 39
40. Exclusão
Excluindo zebra:
gato
cajá loja
astro caju gota X
zebra
Neste caso o elemento não tem antecessor imediato,
então faz-se uso do nó ascendente, no caso: loja.
UFS - DComp - Prof. Kenia Kodel 40
41. Exclusão
Excluindo zebra:
gato
cajá X
loja
astro caju gota loja
Este elemento – loja – também não tem antecessor
imediato,então faz-se uso do nó ascendente, no
caso: gato.
UFS - DComp - Prof. Kenia Kodel 41
42. Exclusão
Excluindo zebra:
X
gato
cajá gato
astro caju gota loja
Este elemento – gato – não tem antecessor
imediato nem nó ascendente, então há a
combinação de nós. - Prof. Kenia Kodel
UFS - DComp 42
46. Exercício
Propor e esquematizar 5 exclusões a serem
efetuadas sobre a árvore obtida em
resposta à questão anterior de forma a
aplicar os 4 casos vistos no estudo desta
operação.
UFS - DComp - Prof. Kenia Kodel 46
47. Exercício
Descrever consulta a ser efetuada sobre a
árvore obtida em resposta à questão 17:
(a) de item existente (b) de item
inexistente.
UFS - DComp - Prof. Kenia Kodel 47
49. Árvore B+
Consiste numa variante da árvore B que,
como sugere o nome, apresenta vantagens
em relação à estrutura original.
UFS - DComp - Prof. Kenia Kodel 49
50. Árvore B+
Geralmente as árvores B+ apresentam menor
profundidade que as árvores B com mesmos
dados, pois nas B+ há aumento do número de
entradas mantidas por nó.
UFS - DComp - Prof. Kenia Kodel 50
51. Árvore B+
O tamanho dos nós é determinado pela capacidade
da memória principal. Nas B+ só as chaves são
mantidas nos nós não terminais, assim tem-se
árvores com maior número de entradas por nó e
menos profundidade, pois as chaves constituem
apenas um subconjunto dos registros completos.
UFS - DComp - Prof. Kenia Kodel 51
52. Árvore B+
Nas árvores B+ os registros completos são
armazenados exclusivamente nas folhas.
Os nós não terminais atuam como índices de
acesso aos dados contidos nos nós terminais.
UFS - DComp - Prof. Kenia Kodel 52
53. Árvore B+
Então, em resumo, uma árvore B+ é uma árvore B
em que os registros de dados são mantidos nos nós
folhas e os nós não terminais constituem somente
chaves que servem como índices de acesso aos
dados.
Índices
Dados
UFS - DComp - Prof. Kenia Kodel 53
54. Árvore B+
Índices
Dados ...
O processamento linear é garantido pelos
links que mantêm os nós folhas dispostos em
sequência.
UFS - DComp - Prof. Kenia Kodel 54
55. Árvore B+
Para manutenção da ordenação dos dados de
uma árvore B+ não é necessário
movimentação de nós.
É possível efetuar processamento direto ou
sequencial sobre os dados mantidos em
árvores B+.
UFS - DComp - Prof. Kenia Kodel 55
56. Índices
Dados ...
Como efetuar
inserção em
árvores B+?
UFS - DComp - Prof. Kenia Kodel 56
57. Árvore B+
Na inserção de dados em árvores B+ os
registros são armazenados nos nós folhas e as
chaves são incluídas no nós índices com um
ponteiro, ou caminho, para o respectivo nó
terminal.
UFS - DComp - Prof. Kenia Kodel 57
58. Árvore B+
É possível estudar o processo de inserção de
dados em árvores B+ através da construção,
por exemplo, de uma árvore composta pelas
chaves: 801 – 502 – 983 – 904 – 605 – 656 – 707 –
558 – 649.
UFS - DComp - Prof. Kenia Kodel 58
59. Árvore B+
Considera-se uma árvores B+ de ordem 2.
1 Incluindo 80:
80
80...
UFS - DComp - Prof. Kenia Kodel 59
60. Árvore B+
2 Incluindo 50:
80
50... 80...
3 e 4 Incluindo 98 e 90:
80
50... 80... 90... 98...
UFS - DComp - Prof. Kenia Kodel 60
61. Árvore B+
A inserção em árvores B+ segue os
processo trivial de inclusão em árvore
de pesquisa: dados menores ou iguais ao
nó pai são mantidos no ramo esquerdo e
os maiores, à direita deste.
UFS - DComp - Prof. Kenia Kodel 61
62. Árvore B+
5 Incluindo 60:
80
50... 80... 90... 98...
60
Esta implica em estouro do nó 50|80 e provoca
os encaminhamentos da chave mediana para o
nó ascendente e do 80 para próximo espaço.
UFS - DComp - Prof. Kenia Kodel 62
69. Árvore B+
A inserção de 64 provoca o estouro do
nó 65||70 e o encaminhamento de 65
ao nó ascendente que, por sua vez,
implica no estouro do nó 55||60||70||
80 e consequente encaminhamento de
65 ao nível ascendente, com
crescimento da estrutura.
UFS - DComp - Prof. Kenia Kodel 69
70. Índices
Dados ...
Como efetuar
remoção em
árvores B+?
UFS - DComp - Prof. Kenia Kodel 70
71. Árvore B+
Em função da forma de organização das
árvores B+, nem toda exclusão provoca
alterações nas duas áreas de composição
da estrutura de dados e de índices.
UFS - DComp - Prof. Kenia Kodel 71
72. Árvore B+
A remoção de nós da área de dados é
equivalente à remoção em estruturas
lineares.
Já a exclusão na área de índices é similar
a que ocorre em árvores B.
UFS - DComp - Prof. Kenia Kodel 72
73. Árvore B+
Discutir remoção das chaves 55 e 60 da
estrutura dada abaixo:
65
55 60 70 80
50... 55... 60... 64... 65... 70... 75... 80... 90... 98...
UFS - DComp - Prof. Kenia Kodel 73
74. Exercício
Esquematize a inclusão dos nós 51, 76, 77, 78,
200, 300 e 150 na estrutura dada a seguir:
65
55 60 70 80
50... 55... 60... 64... 65... 70... 75... 80... 90... 98...
UFS - DComp - Prof. Kenia Kodel 74
75. Exercício
Esquematize a exclusão dos nós 55, 60,
65 e 78 da estrutura obtida em resposta
à questão anterior.
UFS - DComp - Prof. Kenia Kodel 75
78. Exercício
Descreva os passos gerais da operação de
consulta em árvores digitais de pesquisa.
UFS - DComp - Prof. Kenia Kodel 78
79. Complementar
Estudos...
File Organization and Processing
Allan L Tharp
Capítulo 9
B-Trees and Derivatives
B Trees & B+ Trees
UFS - DComp - Prof. Kenia Kodel 79