Escolar Documentos
Profissional Documentos
Cultura Documentos
Dados II
Conteúdo
▪ Árvores Balanceadas
− Definições
− Balanceamento estático
▪ AVL
− Balanceamento Dinâmico
− Operações
• Inserção
• Remoção
− Rotação Simples
− Rotação Dupla
2
ÁRVORES BALANCEADAS
3
Árvores Balanceadas
▪ Sucessivas operações de inserção e remoção em
uma árvore podem fazer com que existam
diferenças sensíveis entre os níveis das suas
folhas.
1 4
2
2 6
3
4 1 3 5 7
5
6
7
Árvores Balanceadas
▪ Definição
− Uma árvore é denominada balanceada quando, para
qualquer nó, as suas subárvores da esquerda e direita
possuem a mesma altura
B C
D E F G
Árvores Balanceadas
▪ Balanceamento Estático
− consiste na construção de uma “nova versão” da ABB,
com base nos seguintes critérios:
8
Atividade Prática
▪ Exercício 1: Aplique o 5
balanceamento
estático na árvore
abaixo e ilustre 2 8
graficamente
o resultado. 6 12
10 15
18
9
Atividade Prática
▪ Exercício 2: Utilizando a implementação realizada
em Laboratório de um ABB crie um método capaz
de realizar o balanceamento estático.
10
AVL
11
Árvores Balanceadas : AVL
▪ Contextualização
− conceito introduzido por dois matemáticos Adelson-
Velskii e Landis em 1962
12
8 20
5 10 15 25
11 14 18 23
Árvores Balanceadas : AVL
▪ Balanceamento Dinâmico
+1 0
0 +1 0 -1
0 0 0 0
Árvores Balanceadas : AVL
▪ Exemplo
+6 Inserção: 1, 2, 3, 4, 5, 6 e 7
1
+5
2
+4
3
+3
4
+2
5 +1
6
0
7
ATIVIDADE PRÁTICA
18
Atividade Prática
▪ Calcule o fator de balanceamento para os nós da
ABB.
Árvores Balanceadas : AVL
▪ Exemplo
0 Inserção: 4, 2, 3, 6, 5, 1 e 7
4
0 0
2 6
0 0 0 0
1 3 5 7
Árvores Balanceadas : AVL
▪ Exemplo
-1 Inserção: 4, 1, 3, 6, 5, 2 e 7
4
+2 0
1 6
-1 0 0
3 5 7
0
2
Árvores Balanceadas : AVL
▪ Exemplo
Inserção: 4, 6, 1, 7, 5, 3 e 2.
-1
4 0
4
+2 0 Op. de balanceamento 0 0
1 6
2 6
-1 0 0 0 0 0 0
3 5 7
1 3 5 7
0
2
Árvores Balanceadas : AVL
▪ Exemplo
Inserção: 4, 6, 2 e 7.
+1 +2 0
4
4 Remover nó 2 +1 Op. de balanceamento 6
0 +1 6 0 0
2 6
0
0 7
4 7
7
Árvores Balanceadas : AVL
▪ Operações de Inserção e Remoção
− A inserção ou remoção de um nó em uma árvore AVL
pode ou não provocar seu desbalanceamento.
− Para AVB desbalanceada
• balanceamento é realizado por meio de ROTAÇÕES.
Árvores Balanceadas : AVL
▪ Tipos de Rotações
− Rotação Simples:
• Rotação a Esquerda
• Rotação a Direita
− Rotação Dupla:
• Rotação a Esquerda
• Rotação a Direita
Árvores Balanceadas : AVL
▪ Rotação Simples
− Ocorre quando o nó raiz (pai) de uma subárvore tem
FB=2 (ou -2) e tem um filho com FB=1 (ou -1)
− Este tipo de rotação ocorre quando pai e filho tem o
mesmo sinal.
− Casos
• FB pai positivo → Rotação Simples Esquerda (RSE)
• FB pai negativo → Rotação Simples Direita (RSD)
Árvores Balanceadas : AVL
▪ Rotação Simples Esquerda (RSE)
4 10
9 15
12
Árvores Balanceadas : AVL
▪ Rotação Simples Esquerda (RSE)
+2
8
0
+1
4 10
0 -1
9 15
0
12
Árvores Balanceadas : AVL
▪ Rotação Simples Esquerda (RSE)
10
8 15
4 9 12
Árvores Balanceadas : AVL
▪ Rotação Simples Direita (RSD)
4 10
2 6
3
Árvores Balanceadas : AVL
▪ Rotação Simples Direita (RSD)
-2
8
-1 0
4 10
1 0
2 6
3
Árvores Balanceadas : AVL
▪ Rotação Simples Direita (RSD)
2 8
3 6 10
Árvores Balanceadas : AVL
▪ Rotação Dupla
− Ocorre quando o nó raiz (pai) de uma subárvore tem
FB=2 (ou -2) e tem um filho com FB=1 (ou -1)
− Este tipo de rotação ocorre quando pai e filho tem
sinais opostos
− Solução
• Primeiro a rotação sobre o nó com FB=1 (ou -1) na
direção apropriada
• Em seguida, a rotação sobre o nó com FB=2 (ou -2)
na direção oposta
Árvores Balanceadas : AVL
▪ Rotação Dupla Esquerda Direita (RDED)
4 10
2 6
5
Árvores Balanceadas : AVL
▪ Rotação Dupla Esquerda Direita (RDED)
-2
8 8
+1 0
4 10 6 10
0 -1
rotação em +1
2 6 a esquerda
4
0
5 2 5
Árvores Balanceadas : AVL
▪ Rotação Dupla Esquerda Direita (RDED)
8
6
6 10
4 8
rotação em -2
4 na direção oposta
2 5 10
2 5
Árvores Balanceadas : AVL
▪ Remoção
− Os problemas são semelhantes aos das inserções
• podem ocorrer desbalanceamentos
− Existem duas situações possíveis:
• Caso 1:
–simples, quando o nó removido é uma folha ou
tem apenas 1 descendente.
• Caso 2:
–o nó removido possui as duas subárvores.
Árvores Balanceadas : AVL
▪ Remoção
− Exemplo: remover o nó 4
8
3
7 10
2 4
6 9 11
1
Árvores Balanceadas : AVL
▪ Remoção
− Exemplo: remover o nó 4
8
Rotação simples 3
7 10
2
6 9 11
1
Árvores Balanceadas : AVL
▪ Remoção
− Exemplo: remover o nó 8
8
2
7 10
1 3
6 9 11
Árvores Balanceadas : AVL
▪ Remoção
− Exemplo: remover o nó 8
7
2
6 10
1 3
9 11
ATIVIDADE PRÁTICA
42
Atividade Prática
Exercício 1: Construa uma árvore balanceada AVL,
passo-a-passo, considerando os seguintes
elementos:
45
FIM
46