Você está na página 1de 39

Árvore Binária Balanceada

Annabell D.R. Tamariz

Capítulo 2
Árvore Binária Balanceada Informações da matéria

Árvores Balanceadas Introdução

Árvores Binárias
Balanceadas
Aulas de Estrutura de Dados II Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

Annabell D.R. Tamariz


LCMAT-CCI
www.lcmat.uenf.br/professores/annabell
Universidade Estadual do Norte Fluminense - UENF
2.1
Árvore Binária Balanceada
Ementa do Curso Annabell D.R. Tamariz

1 Listas não lineares: Grafos - OK.


2 Estruturas de dados para representação de grafos e
algoritmos clássicos sobre grafos- OK.
Informações da matéria
3 Árvores Balanceadas Introdução

• Introdução. Tipos de Árvores. Árvores Binárias


Balanceadas
• Árvores Binárias Balanceadas. Balanceamento de uma Árvore

• Operações de Inserção e Remoção. Algoritmo de


Balanceamento
• Rotações.
Operações
• Exercícios. Inserção

Rotações
4 Estruturas de dados para representação de árvores e Rotação Simples

algoritmos clássicos sobre árvores. Rotação Dupla


Remoção

5 Análise e complexidade de algoritmos. Exercícios

Bibliografia
6 Algoritmos de classificação e buscas
7 Tabelas Hash.
8 Organização em memória secundária. Algoritmos para
classificação externa. Conceito de indexação em
memória secundária.
2.2
Árvore Binária Balanceada
Conteúdo Programático
Annabell D.R. Tamariz

1 Introdução

2 Árvores Binárias Balanceadas


Informações da matéria
Balanceamento de uma Árvore Introdução

Árvores Binárias
3 Algoritmo de Balanceamento Balanceadas
Balanceamento de uma Árvore

Algoritmo de
4 Operações Balanceamento

Inserção Operações
Inserção

Rotações
5 Rotações Rotação Simples
Rotação Dupla
Rotação Simples Remoção

Rotação Dupla Exercícios

Remoção Bibliografia

6 Exercícios

7 Bibliografia

2.3
Árvore Binária Balanceada
Árvores - Tipos Específicos
Annabell D.R. Tamariz

Informações da matéria

Tipos de Árvores Introdução

Árvores Binárias
Balanceadas
• Árvores Binárias - OK Balanceamento de uma Árvore

Algoritmo de
• Árvores Binárias Balanceadas (AVL, Rubronegras, etc) Balanceamento

• Árvores B e variantes Operações


Inserção

• Árvores Multidimensionais (kdtrees) Rotações


Rotação Simples
Rotação Dupla
Remoção

Exercícios
Examinaremos algumas dessas árvores separadamente Bibliografia

2.4
Árvore Binária Balanceada
Árvores Balanceadas
Annabell D.R. Tamariz

Lembrando...
Informações da matéria

Introdução
• A altura de um nó n numa árvore binária é o número de
Árvores Binárias
nós do maior caminho de n até um de seus Balanceadas

descendentes. Balanceamento de uma Árvore

Algoritmo de
• As folhas tem altura 1. Balanceamento

Operações
• Por conveniência, a altura de uma árvore nula é definida Inserção

como -1 Rotações
Rotação Simples

• Para que uma árvore seja, de fato, um mecanismo Rotação Dupla


Remoção
eficiente, e preciso que os seus elementos estejam Exercícios
distribuídos de forma relativamente homogênea pela Bibliografia

estrutura (subárvores);

2.5
Árvore Binária Balanceada
Árvores Binárias Balanceadas
Annabell D.R. Tamariz

Informações da matéria

Balanceamento Introdução

Árvores Binárias
Balanceadas
1 Uma árvore binária é dita balanceada se, para cada nó, Balanceamento de uma Árvore

as alturas de suas subárvores diferem de, no máximo 1. Algoritmo de


Balanceamento
2 Uma árvore binária balanceada, chamada de árvore Operações
AVL (em homenagem aos russos matemáticos G.M. Inserção

Adelson-Velskii e E.M. Landis), é uma árvore binária na Rotações


Rotação Simples

qual as alturas das duas subárvores de cada um dos Rotação Dupla


Remoção
nós, nunca diferem em mais de 1 unidade. Exercícios

Bibliografia

2.6
Árvore Binária Balanceada
Árvores Binárias Balanceadas
Annabell D.R. Tamariz

Exemplos
Informações da matéria

Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.7
Árvore Binária Balanceada
Árvores Binárias Balanceadas
Annabell D.R. Tamariz

Árvores Binárias Balanceadas - AVL

• O balanceamento de um nó é igual a diferença entre as Informações da matéria

suas altura esquerda e direita. Introdução

Árvores Binárias
• Portanto, cada nó de uma árvore balanceada tem Balanceadas

balanceamento igual a -1, 0 ou 1, dependendo da Balanceamento de uma Árvore

Algoritmo de
comparação entre as alturas esquerda e direita. Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.8
Árvore Binária Balanceada
Árvores Binárias Balanceadas
Annabell D.R. Tamariz

Árvores Binárias Balanceadas - AVL

• O balanceamento de um nó é igual a diferença entre as Informações da matéria

suas altura esquerda e direita. Introdução

Árvores Binárias
• Portanto, cada nó de uma árvore balanceada tem Balanceadas

balanceamento igual a -1, 0 ou 1, dependendo da Balanceamento de uma Árvore

Algoritmo de
comparação entre as alturas esquerda e direita. Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.8
Árvore Binária Balanceada
Árvores Binárias Balanceadas
Annabell D.R. Tamariz

Informações da matéria

Introdução

Árvores Binárias Balanceadas - AVL Árvores Binárias


Balanceadas
Balanceamento de uma Árvore
• Caso a probabilidade de pesquisar uma chave em uma Algoritmo de
tabela seja a mesma para todas as chaves, uma árvore Balanceamento

Operações
binária balanceada terá a busca mais eficiente. Inserção

• Uma árvore binária completa com n > 0 nós, tem altura Rotações
Rotação Simples
minima, que é igual a 1 + blog(n)c. Rotação Dupla
Remoção

Exercícios

Bibliografia

2.9
Árvore Binária Balanceada
Árvores Binárias Balanceadas
Annabell D.R. Tamariz

Árvores Binárias Balanceadas - AVL

• A figura a seguir mostra uma Árvore Binária Balanceada


Informações da matéria
e suas possibilidades de inserção.
Introdução
• Cada inserção que mantém a árvore balanceada está Árvores Binárias
Balanceadas
indicada por um B e as que desbalanceiam a árvore por Balanceamento de uma Árvore

um D. Algoritmo de
Balanceamento
• Os valores dentro do nó são altura e balanceamento. Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.10
Árvore Binária Balanceada
Árvores Binárias Balanceadas
Annabell D.R. Tamariz

Informações da matéria

Introdução

Balanceamento de uma árvore Árvores Binárias


Balanceadas
Balanceamento de uma Árvore
1 Observe que uma árvore se torna desbalanceada Algoritmo de
quando o nó inserido se torna descendente esquerdo de Balanceamento

Operações
um nó que tinha anteriormente um balanceamento de 1; Inserção

2 Ou se ele se tornar descendente direito de um nó que Rotações


Rotação Simples
tinha anteriormente balanceamento de -1. Rotação Dupla
Remoção

Exercícios

Bibliografia

2.11
Árvore Binária Balanceada
Árvores Binárias Balanceadas
Annabell D.R. Tamariz

Balanceamento de uma árvore


Informações da matéria
• Por exemplo, um nó que tinha balanceamento 1 e
Introdução
recebe um descendente direito aumenta sua altura em Árvores Binárias
1, portanto aumentando o seu desbalanceamento. Balanceadas
Balanceamento de uma Árvore

• Para manter a árvore balanceada é necessário que a Algoritmo de


Balanceamento
transformação na árvore seja de tal modo que:
Operações
1 A árvore permaneça uma árvore de busca binária (ABB); Inserção

2 A árvore continue a ser uma árvore balanceada. Rotações


Rotação Simples
Rotação Dupla
Remoção

Operador de Balanceamento Exercícios

Bibliografia
Um operador capaz de manter os elementos distribuídos de
forma homogênea entre as subárvores após as operações
aleatórias de inserção e remoção

2.12
Árvore Binária Balanceada
Árvores Binárias Balanceadas
Annabell D.R. Tamariz

Informações da matéria
Resumindo - Árvores AVL
Introdução
Uma árvore AVL é uma árvore binária de busca (ABB) Árvores Binárias
construída de tal modo que a altura de sua subárvore direita Balanceadas
Balanceamento de uma Árvore
difere da altura da subárvore esquerda de no máximo 1. Algoritmo de
Balanceamento
• Recebem esse nome a partir de seus criadores, os
Operações
matemáticos G.M. Adelson-Velskii e E.M. Landis Inserção

Rotações
• A base do algoritmo esta na manutenção dos índices de Rotação Simples

balanceamento em torno de 1 (-1,0 ou 1) Rotação Dupla


Remoção

• Quando o índice chega a 2 ou -2, deve ser refeito o Exercícios

balanceamento através de rotações Bibliografia

2.13
Árvore Binária Balanceada
Balanceamento de uma árvore
Annabell D.R. Tamariz

Balanceamento de uma árvore


Informações da matéria

Introdução
• Inicialmente inserimos um novo nodo na árvore.
Árvores Binárias
• A inserção deste novo nodo pode ou não violar a Balanceadas
Balanceamento de uma Árvore

propriedade de balanceamento. Algoritmo de


Balanceamento
• Caso a inserção do novo nodo não viole a propriedade Operações
de balanceamento podemos então continuar inserindo Inserção

novos nodos. Rotações


Rotação Simples

• Caso contrário, precisamos nos preocupar em restaurar Rotação Dupla


Remoção

o balanço da árvore. A restauração deste balanço é Exercícios

efetuada através do que denominamos ROTAÇÕES na Bibliografia

árvore.

2.14
Árvore Binária Balanceada
Balanceamento de uma Árvore AVL
Annabell D.R. Tamariz

Informações da matéria

Introdução

Árvores AVL Árvores Binárias


Balanceadas
Balanceamento de uma Árvore
• Se quisermos manter a árvore balanceada a cada Algoritmo de
inserção, devemos ter um algoritmo que ajuste os Balanceamento

Operações
fatores de balanceamento. Inserção

• O algoritmo corrige a estrutura através de Rotações


Rotação Simples
movimentação dos nós, ao que chamamos de rotação. Rotação Dupla
Remoção

Exercícios

Bibliografia

2.15
Árvore Binária Balanceada
Algoritmo de Balanceamento
Annabell D.R. Tamariz

Informações da matéria

Introdução
Balanceamento
Árvores Binárias
Balanceadas
• Serão usados dois ponteiros A e B, para auxiliar, onde: Balanceamento de uma Árvore

1 A é nó ancestral mais próximo do nó inserido com Algoritmo de


Balanceamento
FB(nó)6=0 antes da inserção, ou a própria raiz se não há Operações
nenhum nó com FB(nó)6=0 (antes da inserção) no Inserção

caminho da busca. Rotações


Rotação Simples
2 A é também chamado de Pivô; Rotação Dupla

3 B é filho de A na sub-árvore onde ocorreu a inserção. Remoção

Exercícios

Bibliografia

2.16
Árvore Binária Balanceada
Exemplo de Desbalanceamento
Annabell D.R. Tamariz

Informações da matéria

Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações

Que é A e quem é B? Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.17
Árvore Binária Balanceada
Exemplo de Desbalanceamento
Annabell D.R. Tamariz

Informações da matéria

Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações

Que é A e quem é B? Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.17
Árvore Binária Balanceada
Inserção numa árvore AVL
Annabell D.R. Tamariz

Informações da matéria

Introdução
Inserção Balanceada
Árvores Binárias
Balanceadas
• Há 4 casos para serem analisados. Balanceamento de uma Árvore

• Solução com rotação simples: Algoritmo de


Balanceamento
1 Inserção na sub-árvore esquerda do filho esquerdo de A Operações
2 Inserção na sub-árvore direita do filho direito de A Inserção

• Solução com rotação dupla: Rotações


Rotação Simples
1 Inserção na sub-árvore esquerda do filho direito de A Rotação Dupla

2 Inserção na sub-árvore direita do filho esquerdo de A Remoção

Exercícios

Bibliografia

2.18
Árvore Binária Balanceada
Algoritmo para Construção de numa árvore AVL
Annabell D.R. Tamariz

Algoritmo para Construção de numa árvore AVL


Informações da matéria
1 Insira o novo nodo normalmente (ou seja, da mesma Introdução
maneira que inserimos numa ABB); Árvores Binárias
Balanceadas
2 Iniciando com o nodo pai do nodo recém-inserido, teste Balanceamento de uma Árvore

se a propriedade AVL é violada neste nodo, ou seja, Algoritmo de


Balanceamento
teste se o FB deste nodo é maior do que abs(1). Temos Operações
aqui 2 possibilidades: Inserção

Rotações
1 A condição AVL foi violada Rotação Simples

• Execute as operações de rotação conforme for o caso Rotação Dupla


Remoção
(Tipo 1 ou Tipo 2), explicadas a seguir.
Exercícios
• Volte ao passo 1
Bibliografia
2 A condição AVL não foi violada.
• Se o nodo recém-testado não tem pai, ou seja, é o nodo
raiz da árvore, volte para inserir novo nodo (Passo 1)

2.19
Árvore Binária Balanceada
Balanceamento de Árvores AVL
Annabell D.R. Tamariz

Informações da matéria

Introdução
Dicas: Árvores AVL
Árvores Binárias
Balanceadas
1 Para identificarmos quando uma rotação é simples ou Balanceamento de uma Árvore

dupla observamos os sinais de FB: Algoritmo de


Balanceamento
• se o sinal for igual, a rotação é simples. Operações
• se o sinal for diferente a rotação é dupla. Inserção

Rotações
2 Se FB+ rotação para esquerda Rotação Simples
Rotação Dupla
3 Se FB- rotação para direita Remoção

Exercícios

Bibliografia

2.20
Árvore Binária Balanceada
Inserção AVL
Annabell D.R. Tamariz

Inserção numa árvore AVL

• O que pode acontecer quando um novo nó é inserido


numa árvore balanceada ? Informações da matéria

• Na árvore balanceada abaixo: Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.21
Árvore Binária Balanceada
Inserção AVL
Annabell D.R. Tamariz

Inserção numa árvore AVL

• O que pode acontecer quando um novo nó é inserido


numa árvore balanceada ? Informações da matéria

• Na árvore balanceada abaixo: Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Inserção numa árvore AVL Bibliografia

• Nós 9 ou 11 podem ser inseridos sem balanceamento -


TESTE.....
1 Subárvore com raiz 10 passa a ter uma subárvore,
2 Subárvore com raiz 8 vai ficar melhor balanceada !
2.21
Árvore Binária Balanceada
Inserção AVL:
Annabell D.R. Tamariz

Árvore Desbalanceada
A árvore se torna desbalanceada apenas se:
• O nó recém-inserido é um descendente esquerdo de um
Informações da matéria
nó que tinha anteriormente um balanceamento 1.
Introdução
• Se ele for um descendente direito de um nó que tinha Árvores Binárias
Balanceadas
anteriormente balanceamento -1. Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.22
Árvore Binária Balanceada
Inserção AVL:
Annabell D.R. Tamariz

Árvore Desbalanceada
A árvore se torna desbalanceada apenas se:
• O nó recém-inserido é um descendente esquerdo de um
Informações da matéria
nó que tinha anteriormente um balanceamento 1.
Introdução
• Se ele for um descendente direito de um nó que tinha Árvores Binárias
Balanceadas
anteriormente balanceamento -1. Balanceamento de uma Árvore

• Inserção dos nós 3, 5 ou 7 requerem que a árvore seja Algoritmo de


Balanceamento
rebalanceada! Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.22
Árvore Binária Balanceada
Tipo 1 - ROTAÇÃO Simples
Annabell D.R. Tamariz

Pseudo-código
Informações da matéria

Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.23
Árvore Binária Balanceada
Tipo 1 - ROTAÇÃO Simples
Annabell D.R. Tamariz

Inserção numa árvore AVL

• Suponha que queremos inserir o nó 3 na árvore inicial,


como visto no slide anterior. Informações da matéria

Introdução
• A inserção produziria a seguinte árvore: Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.24
Árvore Binária Balanceada
Tipo 1 - ROTAÇÃO Simples
Annabell D.R. Tamariz

Informações da matéria
Inserção numa árvore AVL
Introdução

Árvores Binárias
• A inserção do nodo 3 produziu um desbalanceamento Balanceadas
Balanceamento de uma Árvore
no nodo 8 verificado pelo FB -2 neste nodo.
Algoritmo de
• Neste caso, como os sinais dos FB são os mesmos Balanceamento

Operações
(nodo 8 com FB -2 e nodo 4 com FB -1) significa que Inserção

precisamos fazer apenas uma ROTAÇÃO SIMPLES à Rotações

direita no nodo com FB -2. Rotação Simples


Rotação Dupla
Remoção
• No caso simétrico (nodo com FB 2) faríamos uma
Exercícios
rotação simples à esquerda. Bibliografia

2.25
Árvore Binária Balanceada
Tipo 1 - ROTAÇÃO Simples
Annabell D.R. Tamariz

ROTAÇÃO Simples à Direita


Informações da matéria

Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.26
Árvore Binária Balanceada
Tipo 1 - ROTAÇÃO Simples à Direita
Annabell D.R. Tamariz

Inserção numa árvore AVL


Após a rotação simples à direita, a árvore ficaria:
Informações da matéria

Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

Inserção numa árvore AVL


Observe que os FB estão dentro do esperado para
mantermos a propriedade de balanceamento de árvores
AVL.
2.27
Árvore Binária Balanceada
Tipo 1 - ROTAÇÃO Simples
Annabell D.R. Tamariz

ROTAÇÃO Simples à Esquerda


Informações da matéria

Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.28
Árvore Binária Balanceada
Tipo 2 - ROTAÇÃO Dupla
Annabell D.R. Tamariz

Inserção numa árvore AVL

• Ao inserir o número 5 na árvore.


Informações da matéria

• A inserção produziria a seguinte árvore: Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.29
Árvore Binária Balanceada
Tipo 2 - ROTAÇÃO Dupla
Annabell D.R. Tamariz

Informações da matéria

Introdução
Inserção numa árvore AVL
Árvores Binárias
Balanceadas
• O nodo 8 fica com o FB -2 e tem um filho com FB +1. Balanceamento de uma Árvore

Neste caso o balanceamento é atingido com duas Algoritmo de


Balanceamento
rotações, também denominada ROTAÇÃO DUPLA. Operações
Inserção
• Primeiro rotaciona-se o nodo com FB 1 para a esquerda. Rotações

• A seguir rotaciona-se o nodo que tinha FB -2 na direção Rotação Simples


Rotação Dupla

oposta (direita neste caso). Remoção

Exercícios

Bibliografia

2.30
Árvore Binária Balanceada
Tipo 2 - ROTAÇÃO Dupla
Annabell D.R. Tamariz

ROTAÇÃO Simples à Esquerda


Informações da matéria

Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia

2.31
Árvore Binária Balanceada
Tipo 2 - ROTAÇÃO Dupla
Annabell D.R. Tamariz
ROTAÇÃO Simples à Direita

Informações da matéria

Introdução

Árvores Binárias
Balanceadas
Balanceamento de uma Árvore

Algoritmo de
Balanceamento

Operações
Inserção

Rotações
Rotação Simples
Rotação Dupla
Remoção

Exercícios

Bibliografia
Inserção numa árvore AVL

• Os FB nos nodos voltaram a ficar dentro do esperado


das árvores AVL.
• O caso simétrico ao explicado acima acontece com os
sinais de FB trocados, ou seja, um nodo com FB +2 com
um filho com FB -1. 2.32
Árvore Binária Balanceada
Exercícios para casa
Annabell D.R. Tamariz

Exercícios para casa


Informações da matéria
1 Implemente uma árvore AVL (passo-a-passo) para as Introdução
seguintes inserções de chaves, indicando a cada passo Árvores Binárias
qual elemento foi inserido ou qual rotação foi realizada. Balanceadas
Balanceamento de uma Árvore
• 50, 30, 20, 70, 40, 35, 37, 38, 10, 32, 45, 42, 25, 47, 36. Algoritmo de
• 100, 80, 60, 40, 20, 70, 30, 50, 35, 45, 55, 75, 65, 73, 77 Balanceamento

Operações
2 Escreva um algoritmo que verifica se uma dada árvore Inserção

binária é do tipo AVL. Suponha já existente uma função Rotações


Rotação Simples
p.altura() que retorna a altura de uma árvore binária Rotação Dupla
Remoção
referenciada por p.
Exercícios
3 Dadas as seguintes chaves M, G, B, H, S, P, F, C como Bibliografia

entrada (nesta ordem), desenhe a respectiva árvore


binária de pesquisa.

2.33
Árvore Binária Balanceada
Exercícios para sala
Annabell D.R. Tamariz

Exercícios para sala


Informações da matéria

Introdução
1 Considere a inserção dos seguintes valores (nesta
Árvores Binárias
ordem) em uma árvore AVL. Para essas inserções Balanceadas

nenhuma rotação é necessária.: Balanceamento de uma Árvore

Algoritmo de
• 5,3,8,2,4,7,10,1,6,9,11. Balanceamento

• Desenhe a árvore AVL resultante e determine o fator de Operações


Inserção
balanceamento (FB) de cada nó.
Rotações
2 Construir uma árvore AVL com as seguintes inserções Rotação Simples
Rotação Dupla
de dados na ordem apresentada: Remoção

• Inserir inicialmente 10, 20, 30. Se necessário fazer Exercícios

balanceamento. Bibliografia

• Inserir 25 e 27. Se necessário fazer balanceamento.

2.34
Bibliografia Árvore Binária Balanceada

Annabell D.R. Tamariz


Aaron M. Tenenbaum. ESTRUTURAS DE DADOS
USANDO C.
Jeffrey Esakov and Tom Weiss. DATA STRUCTURES,
AN ADVANCED APPROACH USING C. Informações da matéria

Michael Godrich Roberto Tamassia. ESTRUTURAS DE Introdução

DADOS E ALGORITMOS EM JAVA (2ED). Árvores Binárias


Balanceadas
Balanceamento de uma Árvore
M. Cahen and M. Flato, Editors. Differential geometry Algoritmo de
and relativity. A volume in honour of André Balanceamento

Operações
Lichnerowicz on his 60th birthday. Mathematical Inserção

Physics and Applied Mathematics, Vol. 3. D. Reidel Rotações

Publishing Co., Dordrecht-Boston, Mass., 1976. Rotação Simples


Rotação Dupla
Remoção
C.T.J. Dodson, G.N. Galanis and E. Vassiliou. Exercícios
Isomorphism classes for Banach vector bundle Bibliografia

structures of second tangents. Math. Proc. Camb. Phil.


Soc. 141 (2006) 489-496.
http://www.maths.manchester.ac.uk/~kd/PREPRINTS/isomt2m.pdf

2.34