Академический Документы
Профессиональный Документы
Культура Документы
Contedo
1.
2.
3.
4.
5.
6.
Introduo
Busca
Insero
Remoo
B*
B+
Captulo: 8 (APOSTILA).
Introduo
Em muitas aplicaes, a tabela considerada
muito grande
Introduo
Necessidade de uma estrutura que minimize
o tempo de acesso na tabela para
Buscas
Inseres
Remoes
rvores B
As rvores B permitem manter mais de uma
chave em cada n da estrutura
Proporciona uma organizao de ponteiros
de forma que as operaes so executadas
rapidamente
Sua construo assegura que todas as
folhas se encontram no mesmo nvel, no
importando a ordem de entrada dos dados
rvores B
Largamente utilizadas como forma de
armazenamento em memria secundria
Diversos sistemas comerciais de banco de
dados utilizam rvores B
Definio
Todo n x tem os seguintes campos
Definio
Cada n interno contm n[x] + 1 ponteiros
c1[x], c2[x], ..., cn[x]+1[x] para seus filhos
Ns folhas no tm filhos
Campos ci so indefinidos
Definio
Toda folha tem a mesma altura
O nmero de chaves em cada n limitado
Mnimo: m chaves
Mximo: 2m chaves
m 2, exceto para raz onde m pode ser 1
k1 dados
k2 dados
k2m dados
Representao Simplificada
k1
p1
k2
p2
.....
p3
k2m
p2m
P2m + 1
Exemplo
22 58
30 36
9 17
4 8
12 13
18
25 27
32
70
40
60 61
72
Busca
Buscar uma chave x em uma rvore B
Semelhante ao utilizado para rvore binria
de busca
O mesmo caminhamento realizado
Busca - Exemplo
22 58
30 36
9 17
4 8
12 13
18
25 27
32
70
40
60 61
72
Insero
Adicionar uma nova chave x a uma rvore B
Primeiro feito uma busca
Insero
Caso a chave no exista e no exista
espao suficiente na folha
Insero Exemplo
rvore B de ordem 2 (m = 2)
Inserir registro 14
10
3489
16 20 25 29
Insero Exemplo
rvore B de ordem 2 (m = 2)
Inserir registro 14
10
3489
14 16 20 25 29
Insero Exemplo
rvore B de ordem 2 (m = 2)
Inserir registro 14
10
3489
14 16 20 25 29
Insero Exemplo
rvore B de ordem 2 (m = 2)
Inserir registro 14
10
20
3489
14 16
25 29
Insero Exemplo
rvore B de ordem 2 (m = 2)
Inserir registro 14
10 20
3489
14 16
25 29
Insero
No pior caso, o processo de diviso pode
propagar-se at a raiz da rvore.
Neste caso, a rvore aumenta sua altura de
um nvel
Uma rvore B somente aumenta sua altura
com a diviso da raiz
Remoo
Consiste em retirar uma chave da rvore
Quando a pgina que contm o registro a
ser retirado uma pgina folha, a operao
simples
Remoo
rvore B de ordem 2 (m = 2)
Remover chave 8
10 20
3489
14 16
25 29
Remoo
rvore B de ordem 2 (m = 2)
Remover chave 8
10 20
3489
14 16
25 29
Remoo
rvore B de ordem 2 (m = 2)
Remover chave 8
10 20
349
14 16
25 29
Remoo
No caso de no ser uma pgina folha, o
registro a ser retirado deve ser o primeiro
substitudo por um registro contendo uma
chave adjacente
Remoo
A anlise da remoo pode ento se
restringir ao caso em que esta operao
realizada em uma folha
Quando a chave retirada, o nmero de
chaves da pgina pode resultar menor que
m (ordem da rvore)
Existem dois tratamentos:
Concatenao
Redistribuio
Concatenao
Duas pginas P e Q so chamadas de
irmos adjacentes se tm o mesmo pai W e
so apontadas por dois ponteiros adjacentes
em W e juntas possuem menos de 2m
chaves
Concatenao
Concatenao agrupa as entradas das duas
pginas em uma s
Para isso, no n pai W deixa de existir uma
entrada
Concatenao
Como a soma do nmero de chaves de P e
Q menor do que 2m, o novo n tem, no
mximo, 2m chaves
Concatenao
Remover a chave 12
9 22
47
12 16
23 24 28 29
Concatenao
Remover a chave 12
9 22
47
16
23 24 28 29
Concatenao
Remover a chave 12
9 22
47
16
23 24 28 29
Concatenao
Remover a chave 12
22
4 7 9 16
23 24 28 29
Redistribuio
Se a pgina P e seu irmo adjacente Q
possuem em conjunto 2m ou mais chaves,
estas podem ser equilibradamente
distribudas
Redistribuio
No propagvel
A pgina W, pai de P e Q, modificada, mas
seu nmero de chaves permanece o mesmo.
Redistribuio
Remover a chave 7
22
47
24 28 29
Redistribuio
Remover a chave 7
22
24 28 29
Redistribuio
Remover a chave 7
4 22 24 28 29
Limite excedido
2m = 4 < 5
Redistribuio
Remover a chave 7
4 22 24 28 29
Redistribuio
Remover a chave 7
24
4 22
28 29
Exemplo
Remover: 45, 30, 28, 50, 8, 10, 4, 20, 40, 55, 17, 33, 11, 36, 3 e 52.
m=2
30
10 20
3489
11 13 17
40 50
25 28
33 36
43 45 48
52 55
Exerccio 1
Crie uma rvore B de ordem 2 e insira as
chaves: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 25, 24, 23,
22, 21, 20, 19 , 18, 17, 16, 15, 14, 11, 12, 13,
14. Mostre os ajustes de balanceamento.
Exerccio 2
Dada a rvore B de ordem 2, execute as
seguinte operaes: a) remova C; b) remova B;
c) insira B e G; d) remova X; e) insira Q e U.
FPV
ACD
JK
RST
XZ