Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita...
-
Upload
nguyentram -
Category
Documents
-
view
218 -
download
0
Transcript of Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita...
![Page 1: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/1.jpg)
Árvores AVL
Árvores AVL
SCC0202 - Algoritmos e Estruturas de Dados I
Prof. Fernando V. Paulovich*Baseado no material do Prof. Gustavo Batista
http://www.icmc.usp.br/[email protected]
Instituto de Ciências Matemáticas e de Computação (ICMC)Universidade de São Paulo (USP)
4 de novembro de 2010
![Page 2: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/2.jpg)
Árvores AVLConceitos Introdutórios
Sumário
1 Conceitos Introdutórios
2 Rotação Direita
3 Rotação Esquerda
4 Rotações Simples
5 Rotações Duplas
6 Qual Rotação Usar
7 Implementação
8 Inserção em Árvores AVL
![Page 3: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/3.jpg)
Árvores AVLConceitos Introdutórios
Sumário
1 Conceitos Introdutórios
2 Rotação Direita
3 Rotação Esquerda
4 Rotações Simples
5 Rotações Duplas
6 Qual Rotação Usar
7 Implementação
8 Inserção em Árvores AVL
![Page 4: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/4.jpg)
Árvores AVLConceitos Introdutórios
Árvores Binárias de Busca
Altura de uma árvore binária (AB): igual à profundidade,ou nível máximo, de suas folhasA eficiência da busca em árvore depende do seubalanceamentoAlgoritmos de inserção e remoção em ABB não garantemque a árvore gerada a cada passo seja balanceada
![Page 5: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/5.jpg)
Árvores AVLConceitos Introdutórios
Árvores AVL
Árvore AVL: ABB na qual as alturas das duas sub-árvoresde todo nó nunca diferem em mais de 1
Fator de balanceamento de nó: a altura de sua sub-árvoreesquerda menos a altura de sua sub-árvore direita
FB(p) = h(TE(p))− h(TD(p))
Em uma árvore AVL todo nó tem fator de balanceamentoigual a 1, −1 ou 0
![Page 6: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/6.jpg)
Árvores AVLConceitos Introdutórios
Árvores AVL
![Page 7: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/7.jpg)
Árvores AVLConceitos Introdutórios
Árvores AVL
O problema das árvores AVL e das árvores balanceadas deuma forma geral é como manter a estrutura balanceadaapós operações de inserção e remoçãoAs operações de inserção e remoção sobre ABBs nãogarantem o balanceamento
![Page 8: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/8.jpg)
Árvores AVLConceitos Introdutórios
Árvores AVL
As seguintes inserções tornam a árvore desbalanceada
![Page 9: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/9.jpg)
Árvores AVLConceitos Introdutórios
Árvores AVL
As seguintes situações podem levar ao desbalaceamentode uma árvore AVL
O nó inserido é descendente esquerdo de um nó quetinha FB = 1 (U1 e U8)O nó inserido é descendente direito de um nó que tinhaFB = −1 (U9 e U12)
![Page 10: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/10.jpg)
Árvores AVLConceitos Introdutórios
Árvores AVL
Para manter uma árvore balanceada é necessário aplicaruma transformação na árvore tal que
1 O percurso em-ordem na árvore transformada seja igualao da árvore original (isto é, a árvore transformadacontinua sendo uma ABB)
2 A árvore transformada fique balanceada
![Page 11: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/11.jpg)
Árvores AVLConceitos Introdutórios
Árvores AVL
A transformação que mantém a árvore balanceada échamada de rotaçãoA rotação pode ser feita à esquerda ou à direita,dependendo do desbalanceamento a ser tratadoA rotação deve ser realizada de maneira a respeitar asregras 1 e 2 definidas no slide anteriorDependendo do desbalanceamento a ser tratado, umaúnica rotação pode não ser suficiente
![Page 12: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/12.jpg)
Árvores AVLRotação Direita
Sumário
1 Conceitos Introdutórios
2 Rotação Direita
3 Rotação Esquerda
4 Rotações Simples
5 Rotações Duplas
6 Qual Rotação Usar
7 Implementação
8 Inserção em Árvores AVL
![Page 13: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/13.jpg)
Árvores AVLRotação Direita
Árvores AVL - Rotação Direita
![Page 14: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/14.jpg)
Árvores AVLRotação Direita
Árvores AVL - Rotação Direita
![Page 15: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/15.jpg)
Árvores AVLRotação Direita
Árvores AVL - Rotação Direita
A rotação direita consiste em subir o nó B para o lugar de A. A desce para sersub-árvore direita de B
![Page 16: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/16.jpg)
Árvores AVLRotação Direita
Árvores AVL - Rotação Direita
A rotação direita tem formatogeral ilustrado à direitaT1, T2 e T3 podem sersub-árvores de qualquertamanho, inclusive 0A é o nó mais jovem a setornar desbalanceado
![Page 17: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/17.jpg)
Árvores AVLRotação Direita
Árvores AVL - Rotação Direita
A rotação direita tem formatogeral ilustrado à direitaT1, T2 e T3 podem sersub-árvores de qualquertamanho, inclusive 0A é o nó mais jovem a setornar desbalanceado
![Page 18: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/18.jpg)
Árvores AVLRotação Direita
Árvores AVL - Rotação Direita
![Page 19: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/19.jpg)
Árvores AVLRotação Direita
Árvores AVL - Rotação Direita
![Page 20: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/20.jpg)
Árvores AVLRotação Direita
Árvores AVL - Rotação Direita
ExercícioInsira em uma árvore AVL a seqüência de valores:5, 4, 3, 2, 1. Na ordem que os valores foram listados
![Page 21: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/21.jpg)
Árvores AVLRotação Esquerda
Sumário
1 Conceitos Introdutórios
2 Rotação Direita
3 Rotação Esquerda
4 Rotações Simples
5 Rotações Duplas
6 Qual Rotação Usar
7 Implementação
8 Inserção em Árvores AVL
![Page 22: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/22.jpg)
Árvores AVLRotação Esquerda
Árvores AVL - Rotação Esquerda
![Page 23: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/23.jpg)
Árvores AVLRotação Esquerda
Árvores AVL - Rotação Esquerda
![Page 24: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/24.jpg)
Árvores AVLRotação Esquerda
Árvores AVL - Rotação Esquerda
![Page 25: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/25.jpg)
Árvores AVLRotação Esquerda
Árvores AVL - Rotação Esquerda
A rotação esquerda temformato geral ilustrado àdireitaT1, T2 e T3 podem sersub-árvores de qualquertamanho, inclusive 0A é o nó mais jovem a setornar desbalanceado
![Page 26: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/26.jpg)
Árvores AVLRotação Esquerda
Árvores AVL - Rotação Esquerda
A rotação esquerda temformato geral ilustrado àdireitaT1, T2 e T3 podem sersub-árvores de qualquertamanho, inclusive 0A é o nó mais jovem a setornar desbalanceado
![Page 27: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/27.jpg)
Árvores AVLRotação Esquerda
Árvores AVL - Rotação Esquerda
![Page 28: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/28.jpg)
Árvores AVLRotação Esquerda
Árvores AVL - Rotação Esquerda
![Page 29: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/29.jpg)
Árvores AVLRotação Esquerda
Árvores AVL - Rotação Esquerda
ExercícioInsira em uma árvore AVL a seqüência de valores:1, 2, 3, 4, 5. Na ordem que os valores foram listados
![Page 30: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/30.jpg)
Árvores AVLRotações Simples
Sumário
1 Conceitos Introdutórios
2 Rotação Direita
3 Rotação Esquerda
4 Rotações Simples
5 Rotações Duplas
6 Qual Rotação Usar
7 Implementação
8 Inserção em Árvores AVL
![Page 31: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/31.jpg)
Árvores AVLRotações Simples
Rotações Simples
Tanto para a rotação direitaquanto para a rotaçãoesquerda, a sub-árvoreresultante tem como altura amesma altura a sub-árvoreoriginalIsso significa que o fator debalanceamento de nenhum nóacima de A é afetado
![Page 32: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/32.jpg)
Árvores AVLRotações Simples
Rotações Simples
Quando se deve utilizar arotação direita ou esquerda?
Quando o fator debalanceamento do nó A épositivo, a rotação édireita. Se for negativo arotação é esquerda
![Page 33: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/33.jpg)
Árvores AVLRotações Simples
Rotações Simples
Quando se deve utilizar arotação direita ou esquerda?
Quando o fator debalanceamento do nó A épositivo, a rotação édireita. Se for negativo arotação é esquerda
![Page 34: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/34.jpg)
Árvores AVLRotações Duplas
Sumário
1 Conceitos Introdutórios
2 Rotação Direita
3 Rotação Esquerda
4 Rotações Simples
5 Rotações Duplas
6 Qual Rotação Usar
7 Implementação
8 Inserção em Árvores AVL
![Page 35: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/35.jpg)
Árvores AVLRotações Duplas
Rotações Duplas
Será que as rotações simplessolucionam todos os tipos dedesbalanceamento?
Infelizmente, nãoExistem situações nas quais énecessário uma rotação dupla
![Page 36: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/36.jpg)
Árvores AVLRotações Duplas
Rotações Duplas
![Page 37: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/37.jpg)
Árvores AVLRotações Duplas
Árvores AVL - Rotação Esq./Dir.
A rotação duplaesquerda/direita tem formatogeral ilustrado à direitaT1, T2, T3 e T4 podem sersub-árvores de qualquertamanho, inclusive 0A é o nó mais jovem a setornar desbalanceado
![Page 38: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/38.jpg)
Árvores AVLRotações Duplas
Árvores AVL - Rotação Esq./Dir.
Passo 1: rotação esquerda emBA princípio a rotaçãoesquerda parece deixar aárvore ainda maisdesbalanceadaEntretanto...
![Page 39: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/39.jpg)
Árvores AVLRotações Duplas
Árvores AVL - Rotação Esq./Dir.
Passo 2: rotação direita em ARepare que a altura final dasub-árvore é n+ 2Funciona também se o novonó tivesse sido inserido em T3
![Page 40: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/40.jpg)
Árvores AVLRotações Duplas
Árvores AVL - Rotação Esq./Dir.
A rotação dupladireita/esquerda tem formatogeral ilustrado à direitaT1, T2, T3 e T4 podem sersub-árvores de qualquertamanho, inclusive 0A é o nó mais jovem a setornar desbalanceado
![Page 41: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/41.jpg)
Árvores AVLRotações Duplas
Árvores AVL - Rotação Dir./Esq.
Passo 1: rotação direita em BA princípio a rotação direitaparece deixar a árvore aindamais desbalanceadaEntretanto...
![Page 42: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/42.jpg)
Árvores AVLRotações Duplas
Árvores AVL - Rotação Dir./Esq.
Passo 2: rotação esquerda emARepare que a altura final dasub-árvore é n+ 2Funciona também se o novonó tivesse sido inserido em T2
![Page 43: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/43.jpg)
Árvores AVLQual Rotação Usar
Sumário
1 Conceitos Introdutórios
2 Rotação Direita
3 Rotação Esquerda
4 Rotações Simples
5 Rotações Duplas
6 Qual Rotação Usar
7 Implementação
8 Inserção em Árvores AVL
![Page 44: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/44.jpg)
Árvores AVLQual Rotação Usar
Como decidir qual rotação usar?
Se o sinal do nó A e do nó Bforem iguais então a rotaçãoé simplesSe o fator de balanceamentonó A (nó mais jovem a setornar desbalanceado) forpositivo, então a rotação édireita
![Page 45: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/45.jpg)
Árvores AVLQual Rotação Usar
Como decidir qual rotação usar?
Se o sinal do nó A e do nó Bforem iguais então a rotaçãoé simplesSe o fator de balanceamentonó A (nó mais jovem a setornar desbalanceado) fornegativo, então a rotação éesquerda
![Page 46: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/46.jpg)
Árvores AVLQual Rotação Usar
Como decidir qual rotação usar?
Se o sinal do nó A e do nó Bforem diferentes então arotação é duplaSe o fator de balanceamentonó A (nó mais jovem a setornar desbalanceado) forpositivo, então a rotação éesquerda/direita
![Page 47: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/47.jpg)
Árvores AVLQual Rotação Usar
Como decidir qual rotação usar?
Se o sinal do nó A e do nó Bforem diferentes então arotação é duplaSe o fator de balanceamentonó A (nó mais jovem a setornar desbalanceado) fornegativo, então a rotação édireita/esquerda
![Page 48: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/48.jpg)
Árvores AVLImplementação
Sumário
1 Conceitos Introdutórios
2 Rotação Direita
3 Rotação Esquerda
4 Rotações Simples
5 Rotações Duplas
6 Qual Rotação Usar
7 Implementação
8 Inserção em Árvores AVL
![Page 49: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/49.jpg)
Árvores AVLImplementação
Definição de Tipos
1 typedef struct {2 int chave;3 int valor;4 } INFO;56 typedef struct NO {7 INFO info;8 int fb; //fator de balanceamento9 struct NO *pai; //ponteiro para o pai
10 struct NO *fesq; //ponteiro para o filho da esquerda11 struct NO *fdir; //ponteiro para o filho da direita12 } NO;1314 typedef struct {15 NO *raiz;16 } ARVORE_AVL;
![Page 50: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/50.jpg)
Árvores AVLImplementação
Algoritmo - Rotação Direita
1 NO *rot_dir(NO *no) {2 NO *aux = no->fesq;34 if (no->pai) { //verifica se no não é a raiz5 if (no->pai->fesq == no)6 no->pai->fesq = aux;7 else8 no->pai->fdir = aux;9 }
1011 aux->pai = no->pai;12 no->fesq = aux->fdir;13 if (no->fesq) no->fesq->pai = no;14 aux->fdir = no;15 no->pai = aux;1617 return(aux);18 }
![Page 51: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/51.jpg)
Árvores AVLImplementação
Algoritmo - Rotação Esquerda
1 NO *rot_esq(NO *no) {2 NO *aux = no->fdir;34 if (no->pai) { //verifica se no não é a raiz5 if (no->pai->fesq == no)6 no->pai->fesq = aux;7 else8 no->pai->fdir = aux;9 }
1011 aux->pai = no->pai;12 no->fdir = aux->fesq;13 if (no->fdir) no->fdir->pai = no;14 aux->fesq = no;15 no->pai = aux;1617 return(aux);18 }
![Page 52: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/52.jpg)
Árvores AVLImplementação
Algoritmo - Rotação Esq./Dir.
1 NO *rot_esq_dir(NO *no) {2 rot_esq(no->fesq);3 return(rot_dir(no));4 }
![Page 53: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/53.jpg)
Árvores AVLImplementação
Algoritmo - Rotação Dir./Esq.
1 NO *rot_dir_esq(NO *no) {2 rot_dir(no->fdir);3 return(rot_esq(no));4 }
![Page 54: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/54.jpg)
Árvores AVLInserção em Árvores AVL
Sumário
1 Conceitos Introdutórios
2 Rotação Direita
3 Rotação Esquerda
4 Rotações Simples
5 Rotações Duplas
6 Qual Rotação Usar
7 Implementação
8 Inserção em Árvores AVL
![Page 55: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/55.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
Utilizando as rotinas de rotação pode-se definir umalgoritmo de inserção em árvores AVLNessa operação é importante saber
O balanceamento de cada nó da árvoreO nó ancestral mais jovem do nó inserido que pode setornar desbalanceadoA inserção é feita em dois passos: o primeiro é umainserção em ABBs e o segundo é o rebalanceamento, senecessário
![Page 56: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/56.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
Vamos supor que um novo nó será inserido na posiçãomarcada em vermelho
![Page 57: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/57.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
Um ponteiro p marca a posição que se está procurando...
![Page 58: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/58.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
E q aponta para o ancestral mais jovem que possuibalanceamento diferente de 0...
![Page 59: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/59.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
E q aponta para o ancestral mais jovem que possuibalanceamento diferente de 0...
![Page 60: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/60.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
E q aponta para o ancestral mais jovem que possuibalanceamento diferente de 0...
![Page 61: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/61.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
O balanceamento entre q e p é atualizado...
![Page 62: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/62.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
A rotação apropriada é realizada, os fatores debalanceamento são atualizados
![Page 63: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/63.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
Vamos supor que um novo nó será inserido na posiçãomarcada em vermelho
![Page 64: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/64.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
Um ponteiro p marca a posição que se está procurando...
![Page 65: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/65.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
E q aponta para o ancestral mais jovem que possuibalanceamento diferente de 0...
![Page 66: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/66.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
E q aponta para o ancestral mais jovem que possuibalanceamento diferente de 0...
![Page 67: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/67.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
E q aponta para o ancestral mais jovem que possuibalanceamento diferente de 0...
![Page 68: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/68.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
O balanceamento entre q e p é atualizado...
![Page 69: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/69.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
Não há necessidade de ajustar o fator de balanceamentoacima de q (porque?)
![Page 70: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/70.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
Como não houve desbalanceamento, o algoritmo termina
![Page 71: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/71.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
1 void inserir_arvore_avl(ARVORE_AVL *arv, INFO info) {2 arv->raiz = inserir_arvore_avl_aux(arv->raiz, info);3 }45 struct NO *inserir_arvore_avl_aux(NO *raiz, INFO info) {6 if (raiz == NULL) {7 raiz = (NO *) malloc(sizeof(NO));8 raiz->fesq = raiz->fdir = raiz->pai = NULL;9 raiz->info = info;
10 raiz->fb = 0;11 } else {12 if (raiz->info.chave > info.chave) { //desce pela esquerda13 raiz->fesq = inserir_arvore_avl_aux(raiz->fesq, info);14 raiz->fesq->pai = raiz;1516 //adicionar as rotações...17 } else { //desce pela direita18 raiz->fdir = inserir_arvore_avl_aux(raiz->fdir, info);19 raiz->fdir->pai = raiz;2021 //adicionar as rotações...22 }23 }2425 return(raiz);26 }
![Page 72: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/72.jpg)
Árvores AVLInserção em Árvores AVL
Algoritmo de Inserção
1 void inserir_arvore_avl(ARVORE_AVL *arv, INFO info) {2 int atualiza_fb = 0;3 arv->raiz = inserir_arvore_avl_aux(arv->raiz, info, &atualiza_fb);4 }56 struct NO *inserir_arvore_avl_aux(NO *raiz, INFO info, int *←↩
atualiza_fb) {7 if (raiz == NULL) {8 //...9 *atualiza_fb = 1; //inseriu, atualiza os fbs
10 } else {11 if (raiz->info.chave > info.chave) { //desce pela esquerda12 raiz->fesq = inserir_arvore_avl_aux(raiz->fesq, info, ←↩
atualiza_fb);13 raiz->fesq->pai = raiz;1415 if (*atualiza_fb) {16 //...17 }18 } else { //desce pela direita19 raiz->fdir = inserir_arvore_avl_aux(raiz->fdir, info, ←↩
atualiza_fb);20 raiz->fdir->pai = raiz;2122 if (*atualiza_fb) {23 //...24 }25 }26 }2728 return(raiz);29 }
![Page 73: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/73.jpg)
Árvores AVLInserção em Árvores AVL
Remoção em AVLs
Para eliminar um nó de uma árvore AVL, o algoritmo éum pouco mais complicadoEnquanto que a inserção pode requerer no máximo umarotação (simples ou dupla), a remoção pode requerermais de uma rotação
No pior caso, pode-se fazer uma rotação a cada nível daárvoreOu seja, no pior caso O(log n) rotaçõesNa prática, são necessárias apenas 0, 214 rotação poreliminação, em média
![Page 74: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/74.jpg)
Árvores AVLInserção em Árvores AVL
Complexidade das AVLs
A altura máxima de uma ABB AVL é 1, 44 log2 n
Dessa forma, uma pesquisa nunca exige mais do que 44%mais comparações que uma ABB totalmente balanceada.
Na prática, para n grande, os tempos de busca são porvolta de log2 n + 0, 25Na média, é necessária uma rotação em 46, 5% dasinserções
![Page 75: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/75.jpg)
Árvores AVLInserção em Árvores AVL
Exercícios
Simule a inserção da seguinte seqüência de valores emuma árvore AVL: 10, 7, 20, 15, 17, 25, 30, 5, 1Em cada opção abaixo, insira as chaves na ordemmostrada de forma a construir uma arvore AVL. Sehouver rebalanceamento de nós, mostre qual oprocedimento a fazer
1 a, z, b, y, c, x2 a, z, b, y, c, x, d, w, e, v, f3 a, v, l, t, r, e, i, o, k4 m, te, a, z, g, p
![Page 76: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/76.jpg)
Árvores AVLInserção em Árvores AVL
Exercícios
Escreva uma função que retorna a altura da árvore AVL.Qual é a complexidade da operação implementada? Ela émais eficiente que a implementação para ABBs?Implemente o TAD AVL com as operações de inserção ebusca e demais operações auxiliares
![Page 77: Árvores AVL - 0.5cmSCC0202 - Algoritmos e Estruturas de ... · Árvores AVL Rotação Direita ÁrvoresAVL-RotaçãoDireita A rotação direita consiste em subir o nó B para o lugar](https://reader031.fdocumentos.tips/reader031/viewer/2022021808/5c07d1b509d3f29f288bb31a/html5/thumbnails/77.jpg)
Árvores AVLInserção em Árvores AVL
Exercícios
Mostre a árvores AVL gerada passo-a-passo pelasinserções das seguintes chaves na ordem fornecida
10, 5, 20, 1, 3, 4, 8, 30, 40, 35, 50, 45, 55, 51, 100