Árvores (2,3) e Árvores B
Katia Guimarães
5 de novembro de
2015
1
Árvores de Busca com grau maior do que 2
Vimos que árvores de busca quando
balanceadas, como as árvores AVL,
permitem busca em tempo logarítmico.
No caso das árvores AVL, a busca se
dá em tempo log2 (n) no pior caso.
Poderíamos tentar melhorar procurando
fazer a busca em tempo logk (n), com k > 2.
Árvores 2-3
Similar às árvores AVL, mas
- Cada nó interno tem dois ou três filhos e
- Todos os nós externos têm a mesma
profundidade.
P
G
T
C
A
KM
F
[email protected]
H
L
R
O
Q
X
S
V
Z
3
Inserção em Árvores 2-3
Como nas árvores AVL, a inserção se dá
numa folha. Se há espaço para acrescentar
o novo elemento, ele entra aí.
Ex: Inserção do elemento G na árvore abaixo.
T
I
EG
[email protected]
VX
LP
U
W
Z
4
Inserção em Árvores 2-3
Se não há espaço para acrescentar o novo
elemento, gera-se dois nós com os dois
elementos extremos no nó, e promove-se
o elemento central, para ser incluído no
nível imediatamente superior.
Ex: Inserção do elemento N na árvore abaixo.
T
I
EG
VX
LP
N
[email protected]
U
W
Z
5
Inserção em Árvores 2-3
Ex: Inserção do elemento N na árvore abaixo.
Como um nó não pode ter três elementos, são criados dois nós
com um elemento cada, e o elemento do meio é promovido.
T
I N
EG
L
[email protected]
VX
P
U
W
Z
6
Inserção em Árvores 2-3
Se não há espaço para acrescentar o nó
promovido, procede-se da mesma forma que
no overflow anterior, até eventualmente
achar espaço suficiente ou chegar até a raiz.
Ex: Inserção do elemento C na árvore abaixo.
T
I N
EG
L
VX
P
U
W
Z
C
[email protected]
7
Inserção em Árvores 2-3
Se não há espaço para acrescentar o nó
promovido, procede-se da mesma forma que
no overflow anterior, até eventualmente
achar espaço suficiente ou chegar até a raiz.
Ex: Inserção do elemento C leva à promoção do elemento E.
I
E
C
T
N
G
L
[email protected]
VX
P
U
W
Z
8
Inserção em Árvores 2-3
Ex: Inserção do elemento C leva à promoção do elemento E
que por sua vez leva à promoção do elemento I.
IT
E
C
N
G
[email protected]
L
VX
P
U
W
Z
9
Árvores B
Note que a diferença crucial em termos de tempo de
acesso entre a árvores binárias e as árvores 2-3 é que
agora o acesso pode ser feito em tempo logarítmico,
mas com base 3, o que é mais rápido.
Podemos pensar então numa forma de diminuir mais
ainda o tempo de acesso, aumentando o número de
elementos em cada nó.
[email protected]
10
Árvores B
ÁRVORES B são uma extensão da noção de árvores 2-3,
onde cada nó que não é a raiz pode ter entre k e 2k chaves.
Esta estrutura normalmente é usada em memória externa.
Deve haver um compromisso entre o maior número de
elementos por nó e a capacidade de acesso em disco,
além de uma técnica de busca dentro do nó.
[email protected]
11
Download

Árvores 2-3