Вы находитесь на странице: 1из 15

ORGANIZAÇÃO DE ARQUIVOS

E MÉTODOS DE ORDENAÇÃO

- Árvores
- Árvores AVL

Prof. MSc. Gilvan Martins Durães


Roteiro

 Árvores AVL
 Motivações
 ABB balanceada
 Algoritmo de balanceamento AVL
 Operações de inserção e remoção
 Exemplos
 Exercícios

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 2
Motivações
 Árvore Binária de Busca
 O que acontece se os elementos são inseridos a partir
de uma lista ordenada?
 Inserir: 1, 3, 5, 6, 13, 15 em uma ABB vazia.

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 3
Motivações
 Árvore Binária de Busca
 O que acontece se os elementos são inseridos a partir
de uma lista ordenada?
 Inserir: 1, 3, 5, 6, 13, 15 em uma ABB vazia.

1
3
5
6
13
15
Organização de Arquivos e Métodos de
Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 4
Motivações
 Árvore Binária de Busca
 Pode ter seu desempenho prejudicado
 Necessidade de balanceamento

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 5
Árvore balanceada
 Uma árvore é dita balanceada se, e
somente se, para qualquer nó da árvore, a
altura de suas sub-árvores, diferem de no
máximo uma unidade.

 Exemplos...

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 6
Árvores AVL
 Adelson-Velskii e Landis
 Propõe um algoritmo para manter uma
árvore ABB sempre balanceada, após
cada inserção ou remoção.
 Utiliza o conceito de fator de
balanceamento de um nó:
 AE – AD
 AE : Altura da sub-árvore esquerda
 AD : Altura da sub-árvore direita
Organização de Arquivos e Métodos de
Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 7
Árvores AVL - Balanceamento
 Primeiro calcula-se o fator de
balanceamento do nó, através das suas
sub-árvores.
 Depois calcula-se o fator de
balanceamento do nó filho que causou o
desbalanceamento.

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 8
Árvores AVL - Balanceamento
 Se os sinais dos fatores forem iguais faz-
se uma rotação simples
 Caso contrário, faz-se uma rotação dupla
e em sentidos opostos.
 Após cada operação (inserção, remoção
ou rotação) deve-se verificar o
balanceamento de toda a árvore
novamente.

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 9
Árvores AVL - Inserção
 Exemplo inserção:
 Inserindo 4,5,7,2,1,3 e 6

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 10
Árvores AVL - Remoção

 Similar à operação de inserção, porém


mais complexa, uma vez que podem
ocorrer frequentes propagações de
“desbalanceamento”

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 11
Árvores AVL - Remoção
 Exemplo remoção: nó 11
20

10 30

05 11 32
25

07 23 27 36

21

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 12
Exercícios
1) Seja a árvore abaixo do tipo AVL, insira os valores 13,
14 e 12, mostrando a formação da árvore após cada
balanceamento
10

05 17

07 19
11

15

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 13
Exercícios
2) Remova todos os elementos da árvore da questão 1, a
partir da raiz. Mostrando a formação da árvore após
cada balanceamento. Dê prioridade a sub-árvore da
direita na substituição do elemento removido.

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 14
Exercícios
3) Construa uma árvore AVL, inserindo os dados da
sequência X, mostrando a formação da árvore após
cada balanceamento.

X: 27,17,37,13,22,16,24,23,39,28,21.

Organização de Arquivos e Métodos de


Prof. MSc. Gilvan M. Durães Ordenação – 2011.1 15

Вам также может понравиться