Árvores Introdução e Aplicações Árvores de Busca Binária – Fundamentos – Implementação.
Árvores VLA -...
Transcript of Árvores VLA -...
![Page 1: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/1.jpg)
Árvores AVL
Letícia Rodrigues Bueno
13 de junho de 2013
![Page 2: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/2.jpg)
Relembrando: árvores binárias de busca
I Objetivo: minimizar tempo de acesso no pior caso.
I Idéia: Para cada chave, separe as restantes em maiores oumenores.
I Estrutura hierárquica com divisão binária: uma árvore binária.
3
1 6
2 4 7
5
![Page 3: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/3.jpg)
Relembrando: árvores binárias de busca
I Objetivo: minimizar tempo de acesso no pior caso.I Idéia: Para cada chave, separe as restantes em maiores ou
menores.
I Estrutura hierárquica com divisão binária: uma árvore binária.
3
1 6
2 4 7
5
![Page 4: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/4.jpg)
Relembrando: árvores binárias de busca
I Objetivo: minimizar tempo de acesso no pior caso.I Idéia: Para cada chave, separe as restantes em maiores ou
menores.I Estrutura hierárquica com divisão binária: uma árvore binária.
3
1 6
2 4 7
5
![Page 5: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/5.jpg)
Relembrando: árvores binárias de busca
I Objetivo: minimizar tempo de acesso no pior caso.I Idéia: Para cada chave, separe as restantes em maiores ou
menores.I Estrutura hierárquica com divisão binária: uma árvore binária.
3
1 6
2 4 7
5
![Page 6: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/6.jpg)
Relembrando: complexidade da busca em árvore binária
I Busca em árvore binária = caminho da raiz até chave desejada(ou até uma folha, caso chave não exista).
3
1 6
2 4 7
5
h
I Pior caso: maior caminho da raiz até folha = altura da árvoreI Complexidade pior caso: O(h) (como otimizar pior caso?)
![Page 7: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/7.jpg)
Relembrando: complexidade da busca em árvore binária
I Busca em árvore binária = caminho da raiz até chave desejada(ou até uma folha, caso chave não exista).
3
1 6
2 4 7
5
h
I Pior caso: maior caminho da raiz até folha
= altura da árvoreI Complexidade pior caso: O(h) (como otimizar pior caso?)
![Page 8: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/8.jpg)
Relembrando: complexidade da busca em árvore binária
I Busca em árvore binária = caminho da raiz até chave desejada(ou até uma folha, caso chave não exista).
3
1 6
2 4 7
5
h
I Pior caso: maior caminho da raiz até folha = altura da árvore
I Complexidade pior caso: O(h) (como otimizar pior caso?)
![Page 9: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/9.jpg)
Relembrando: complexidade da busca em árvore binária
I Busca em árvore binária = caminho da raiz até chave desejada(ou até uma folha, caso chave não exista).
3
1 6
2 4 7
5
h
I Pior caso: maior caminho da raiz até folha = altura da árvoreI Complexidade pior caso: O(h)
(como otimizar pior caso?)
![Page 10: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/10.jpg)
Relembrando: complexidade da busca em árvore binária
I Busca em árvore binária = caminho da raiz até chave desejada(ou até uma folha, caso chave não exista).
3
1 6
2 4 7
5
h
I Pior caso: maior caminho da raiz até folha = altura da árvoreI Complexidade pior caso: O(h) (como otimizar pior caso?)
![Page 11: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/11.jpg)
Relembrando: árvore binária de busca ótima
I Árvore ótima: minimiza tempo de busca (no pior caso)
I Árvore completa, altura: h = blog nc+ 1
4
2 6
3 5 71
I complexidade temporal no pior caso: O(log n)
![Page 12: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/12.jpg)
Relembrando: árvore binária de busca ótima
I Árvore ótima: minimiza tempo de busca (no pior caso)I Árvore completa, altura: h = blog nc+ 1
4
2 6
3 5 71
I complexidade temporal no pior caso: O(log n)
![Page 13: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/13.jpg)
Relembrando: árvore binária de busca ótima
I Árvore ótima: minimiza tempo de busca (no pior caso)I Árvore completa, altura: h = blog nc+ 1
4
2 6
3 5 71
I complexidade temporal no pior caso: O(log n)
![Page 14: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/14.jpg)
Relembrando: construção de árvore ótima
I após inserções, árvore binária de busca pode degenerar emuma lista
1
5
2
3
4
7
6
I tempo de busca pior caso: O(n)
![Page 15: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/15.jpg)
Relembrando: construção de árvore ótima
I Estrutura �xa: chaves pré-determinadas.
I Dado um conjunto com n chaves, é possível construir a árvoreótima em tempo O(n3) (ou O(n2) se usarmos um algoritmomais elaborado).
I Para manter a árvore ótima, deveríamos executar o algoritmo acada inserção: impraticável!
I Podemos manter complexidade de pior caso da inserção emO(log n)?
![Page 16: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/16.jpg)
Árvores �su�cientemente boas�
I Árvore com altura 2 log n, complexidade temporal no pior casoO(. . .)
I Árvore com altura c1 log n + c2, complexidade temporal no piorcaso
I Nem toda árvore com altura O(log n) é ótima, mas acomplexidade assintótica temporal de pior caso para a busca éigual à de uma árvore ótima.
De�nição: Árvore binária balanceada é aquela com altura O(log n)
Mais fácil de construir que árvore ótima?Como garantir que uma árvore binária é balanceada?
![Page 17: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/17.jpg)
Árvores �su�cientemente boas�
I Árvore com altura 2 log n, complexidade temporal no pior casoO(log n)
I Árvore com altura c1 log n + c2, complexidade temporal no piorcaso
I Nem toda árvore com altura O(log n) é ótima, mas acomplexidade assintótica temporal de pior caso para a busca éigual à de uma árvore ótima.
De�nição: Árvore binária balanceada é aquela com altura O(log n)
Mais fácil de construir que árvore ótima?Como garantir que uma árvore binária é balanceada?
![Page 18: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/18.jpg)
Árvores �su�cientemente boas�
I Árvore com altura 2 log n, complexidade temporal no pior casoO(log n)
I Árvore com altura c1 log n + c2, complexidade temporal no piorcaso O(. . .)
I Nem toda árvore com altura O(log n) é ótima, mas acomplexidade assintótica temporal de pior caso para a busca éigual à de uma árvore ótima.
De�nição: Árvore binária balanceada é aquela com altura O(log n)
Mais fácil de construir que árvore ótima?Como garantir que uma árvore binária é balanceada?
![Page 19: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/19.jpg)
Árvores �su�cientemente boas�
I Árvore com altura 2 log n, complexidade temporal no pior casoO(log n)
I Árvore com altura c1 log n + c2, complexidade temporal no piorcaso O(log n)
I Nem toda árvore com altura O(log n) é ótima, mas acomplexidade assintótica temporal de pior caso para a busca éigual à de uma árvore ótima.
De�nição: Árvore binária balanceada é aquela com altura O(log n)
Mais fácil de construir que árvore ótima?Como garantir que uma árvore binária é balanceada?
![Page 20: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/20.jpg)
Árvores �su�cientemente boas�
I Árvore com altura 2 log n, complexidade temporal no pior casoO(log n)
I Árvore com altura c1 log n + c2, complexidade temporal no piorcaso O(log n)
I Nem toda árvore com altura O(log n) é ótima, mas acomplexidade assintótica temporal de pior caso para a busca éigual à de uma árvore ótima.
De�nição: Árvore binária balanceada é aquela com altura O(log n)
Mais fácil de construir que árvore ótima?Como garantir que uma árvore binária é balanceada?
![Page 21: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/21.jpg)
Árvores �su�cientemente boas�
I Árvore com altura 2 log n, complexidade temporal no pior casoO(log n)
I Árvore com altura c1 log n + c2, complexidade temporal no piorcaso O(log n)
I Nem toda árvore com altura O(log n) é ótima, mas acomplexidade assintótica temporal de pior caso para a busca éigual à de uma árvore ótima.
De�nição: Árvore binária balanceada é aquela com altura O(log n)
Mais fácil de construir que árvore ótima?Como garantir que uma árvore binária é balanceada?
![Page 22: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/22.jpg)
Árvores �su�cientemente boas�
I Árvore com altura 2 log n, complexidade temporal no pior casoO(log n)
I Árvore com altura c1 log n + c2, complexidade temporal no piorcaso O(log n)
I Nem toda árvore com altura O(log n) é ótima, mas acomplexidade assintótica temporal de pior caso para a busca éigual à de uma árvore ótima.
De�nição: Árvore binária balanceada é aquela com altura O(log n)
Mais fácil de construir que árvore ótima?Como garantir que uma árvore binária é balanceada?
![Page 23: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/23.jpg)
Árvores AVL
Para cada nó x , de�na:I hE (x): altura sub-árvore à esquerdaI hD(x): altura sub-árvore à direita
hE hD
I Propriedade AVL: |hE (x)− hD(x)| ≤ 1I Nó regulado: satisfaz propriedade AVL.I Árvore AVL: todos nós regulados.
(Curiosidade: AVL = Adelson-Velskii, G. e Landis, E. M.)
![Page 24: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/24.jpg)
Árvores AVL
Para cada nó x , de�na:I hE (x): altura sub-árvore à esquerdaI hD(x): altura sub-árvore à direita
hE hD
I Propriedade AVL: |hE (x)− hD(x)| ≤ 1
I Nó regulado: satisfaz propriedade AVL.I Árvore AVL: todos nós regulados.
(Curiosidade: AVL = Adelson-Velskii, G. e Landis, E. M.)
![Page 25: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/25.jpg)
Árvores AVL
Para cada nó x , de�na:I hE (x): altura sub-árvore à esquerdaI hD(x): altura sub-árvore à direita
hE hD
I Propriedade AVL: |hE (x)− hD(x)| ≤ 1I Nó regulado: satisfaz propriedade AVL.
I Árvore AVL: todos nós regulados.
(Curiosidade: AVL = Adelson-Velskii, G. e Landis, E. M.)
![Page 26: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/26.jpg)
Árvores AVL
Para cada nó x , de�na:I hE (x): altura sub-árvore à esquerdaI hD(x): altura sub-árvore à direita
hE hD
I Propriedade AVL: |hE (x)− hD(x)| ≤ 1I Nó regulado: satisfaz propriedade AVL.I Árvore AVL: todos nós regulados.
(Curiosidade: AVL = Adelson-Velskii, G. e Landis, E. M.)
![Page 27: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/27.jpg)
Árvores AVL
Para cada nó x , de�na:I hE (x): altura sub-árvore à esquerdaI hD(x): altura sub-árvore à direita
hE hD
I Propriedade AVL: |hE (x)− hD(x)| ≤ 1I Nó regulado: satisfaz propriedade AVL.I Árvore AVL: todos nós regulados.
(Curiosidade: AVL = Adelson-Velskii, G. e Landis, E. M.)
![Page 28: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/28.jpg)
Árvores AVL: exemplo
3
1 6
2 4 7
5
3
1 6
2 4
5
AVL NÃO AVL
![Page 29: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/29.jpg)
Árvores AVL são balanceadas
Intuitivamente: diferença pequena de altura entre sub-árvores⇒ nós se distribuem mais uniformemente.
Provaremos: Toda árvore AVL é balanceada.(Mas cuidado: nem toda árvore balanceada é AVL.)
Demonstração: Th árvore AVL com altura h e mínimo de nós,|Th| número de nós
I h = 0, então |Th| = 0 (árvore vazia)I h = 1, então |Th| = 1 (só a raiz)I h = 2, então |Th| = 2 (raiz mais um nó)I Generalizar para h > 1...
![Page 30: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/30.jpg)
Árvores AVL são balanceadas
Intuitivamente: diferença pequena de altura entre sub-árvores⇒ nós se distribuem mais uniformemente.
Provaremos: Toda árvore AVL é balanceada.
(Mas cuidado: nem toda árvore balanceada é AVL.)
Demonstração: Th árvore AVL com altura h e mínimo de nós,|Th| número de nós
I h = 0, então |Th| = 0 (árvore vazia)I h = 1, então |Th| = 1 (só a raiz)I h = 2, então |Th| = 2 (raiz mais um nó)I Generalizar para h > 1...
![Page 31: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/31.jpg)
Árvores AVL são balanceadas
Intuitivamente: diferença pequena de altura entre sub-árvores⇒ nós se distribuem mais uniformemente.
Provaremos: Toda árvore AVL é balanceada.(Mas cuidado: nem toda árvore balanceada é AVL.)
Demonstração: Th árvore AVL com altura h e mínimo de nós,|Th| número de nós
I h = 0, então |Th| = 0 (árvore vazia)I h = 1, então |Th| = 1 (só a raiz)I h = 2, então |Th| = 2 (raiz mais um nó)I Generalizar para h > 1...
![Page 32: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/32.jpg)
Árvores AVL são balanceadas
Intuitivamente: diferença pequena de altura entre sub-árvores⇒ nós se distribuem mais uniformemente.
Provaremos: Toda árvore AVL é balanceada.(Mas cuidado: nem toda árvore balanceada é AVL.)
Demonstração: Th árvore AVL com altura h e mínimo de nós,|Th| número de nós
I h = 0, então |Th| = 0 (árvore vazia)I h = 1, então |Th| = 1 (só a raiz)I h = 2, então |Th| = 2 (raiz mais um nó)I Generalizar para h > 1...
![Page 33: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/33.jpg)
Árvores AVL são balanceadas
Intuitivamente: diferença pequena de altura entre sub-árvores⇒ nós se distribuem mais uniformemente.
Provaremos: Toda árvore AVL é balanceada.(Mas cuidado: nem toda árvore balanceada é AVL.)
Demonstração: Th árvore AVL com altura h e mínimo de nós,|Th| número de nós
I h = 0, então |Th| = 0 (árvore vazia)
I h = 1, então |Th| = 1 (só a raiz)I h = 2, então |Th| = 2 (raiz mais um nó)I Generalizar para h > 1...
![Page 34: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/34.jpg)
Árvores AVL são balanceadas
Intuitivamente: diferença pequena de altura entre sub-árvores⇒ nós se distribuem mais uniformemente.
Provaremos: Toda árvore AVL é balanceada.(Mas cuidado: nem toda árvore balanceada é AVL.)
Demonstração: Th árvore AVL com altura h e mínimo de nós,|Th| número de nós
I h = 0, então |Th| = 0 (árvore vazia)I h = 1, então |Th| = 1 (só a raiz)
I h = 2, então |Th| = 2 (raiz mais um nó)I Generalizar para h > 1...
![Page 35: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/35.jpg)
Árvores AVL são balanceadas
Intuitivamente: diferença pequena de altura entre sub-árvores⇒ nós se distribuem mais uniformemente.
Provaremos: Toda árvore AVL é balanceada.(Mas cuidado: nem toda árvore balanceada é AVL.)
Demonstração: Th árvore AVL com altura h e mínimo de nós,|Th| número de nós
I h = 0, então |Th| = 0 (árvore vazia)I h = 1, então |Th| = 1 (só a raiz)I h = 2, então |Th| = 2 (raiz mais um nó)
I Generalizar para h > 1...
![Page 36: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/36.jpg)
Árvores AVL são balanceadas
Intuitivamente: diferença pequena de altura entre sub-árvores⇒ nós se distribuem mais uniformemente.
Provaremos: Toda árvore AVL é balanceada.(Mas cuidado: nem toda árvore balanceada é AVL.)
Demonstração: Th árvore AVL com altura h e mínimo de nós,|Th| número de nós
I h = 0, então |Th| = 0 (árvore vazia)I h = 1, então |Th| = 1 (só a raiz)I h = 2, então |Th| = 2 (raiz mais um nó)I Generalizar para h > 1...
![Page 37: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/37.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)
I Generalizando para h > 1.
r
Th−1Th−2
Th
I Mínimo de nós com altura h: raiz ∪
Th−1 ∪ Th−2I Fórmula geral: |Th| = 1 + |Th−1|+ |Th−2|
![Page 38: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/38.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)
I Generalizando para h > 1.
r
Th−1Th−2
Th
I Mínimo de nós com altura h: raiz ∪ Th−1 ∪
Th−2I Fórmula geral: |Th| = 1 + |Th−1|+ |Th−2|
![Page 39: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/39.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)
I Generalizando para h > 1.
r
Th−1Th−2
Th
I Mínimo de nós com altura h: raiz ∪ Th−1 ∪ Th−2
I Fórmula geral: |Th| = 1 + |Th−1|+ |Th−2|
![Page 40: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/40.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)
I Generalizando para h > 1.
r
Th−1Th−2
Th
I Mínimo de nós com altura h: raiz ∪ Th−1 ∪ Th−2I Fórmula geral: |Th| = 1 +
|Th−1|+ |Th−2|
![Page 41: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/41.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)
I Generalizando para h > 1.
r
Th−1Th−2
Th
I Mínimo de nós com altura h: raiz ∪ Th−1 ∪ Th−2I Fórmula geral: |Th| = 1 + |Th−1|+
|Th−2|
![Page 42: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/42.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)
I Generalizando para h > 1.
r
Th−1Th−2
Th
I Mínimo de nós com altura h: raiz ∪ Th−1 ∪ Th−2I Fórmula geral: |Th| = 1 + |Th−1|+ |Th−2|
![Page 43: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/43.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Fórmula recursiva para |Th|:
|Th| =
0 h = 01 h = 1
1 + |Th−1|+ |Th−2| h > 1
Esta fórmula é muito similar a uma sequência muito conhecida.h-ésimo número de Fibonacci, Fh:
Fh =
0 h = 01 h = 1
Fh−1 + Fh−2 h > 1
Veja que: |Th| > Fh.O que ganhamos com isto?
![Page 44: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/44.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Fórmula recursiva para |Th|:
|Th| =
0 h = 01 h = 1
1 + |Th−1|+ |Th−2| h > 1
Esta fórmula é muito similar a uma sequência muito conhecida.
h-ésimo número de Fibonacci, Fh:
Fh =
0 h = 01 h = 1
Fh−1 + Fh−2 h > 1
Veja que: |Th| > Fh.O que ganhamos com isto?
![Page 45: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/45.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Fórmula recursiva para |Th|:
|Th| =
0 h = 01 h = 1
1 + |Th−1|+ |Th−2| h > 1
Esta fórmula é muito similar a uma sequência muito conhecida.h-ésimo número de Fibonacci, Fh:
Fh =
0 h = 01 h = 1
Fh−1 + Fh−2 h > 1
Veja que: |Th| > Fh.O que ganhamos com isto?
![Page 46: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/46.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Fórmula recursiva para |Th|:
|Th| =
0 h = 01 h = 1
1 + |Th−1|+ |Th−2| h > 1
Esta fórmula é muito similar a uma sequência muito conhecida.h-ésimo número de Fibonacci, Fh:
Fh =
0 h = 01 h = 1
Fh−1 + Fh−2 h > 1
Veja que: |Th| > Fh.O que ganhamos com isto?
![Page 47: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/47.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Número de nós em árvore AVL: n
≥ |Th| ≥ Fh.Existe fórmula fechada para Fh:
Fh =1√5ah − 1√
5bh
Onde a = 1+√5
2, e b = 1−
√5
2.
Constante b menor que 1: b = −.2763.... Então |bh| < 1.Logo:
n ≥ Fh ≥1√5ah − 1
Lembre-se: queremos h em função de n.
![Page 48: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/48.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Número de nós em árvore AVL: n ≥ |Th|
≥ Fh.Existe fórmula fechada para Fh:
Fh =1√5ah − 1√
5bh
Onde a = 1+√5
2, e b = 1−
√5
2.
Constante b menor que 1: b = −.2763.... Então |bh| < 1.Logo:
n ≥ Fh ≥1√5ah − 1
Lembre-se: queremos h em função de n.
![Page 49: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/49.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Número de nós em árvore AVL: n ≥ |Th| ≥ Fh.
Existe fórmula fechada para Fh:
Fh =1√5ah − 1√
5bh
Onde a = 1+√5
2, e b = 1−
√5
2.
Constante b menor que 1: b = −.2763.... Então |bh| < 1.Logo:
n ≥ Fh ≥1√5ah − 1
Lembre-se: queremos h em função de n.
![Page 50: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/50.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Número de nós em árvore AVL: n ≥ |Th| ≥ Fh.Existe fórmula fechada para Fh:
Fh =1√5ah − 1√
5bh
Onde a = 1+√5
2, e b = 1−
√5
2.
Constante b menor que 1: b = −.2763.... Então |bh| < 1.Logo:
n ≥ Fh ≥1√5ah − 1
Lembre-se: queremos h em função de n.
![Page 51: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/51.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Número de nós em árvore AVL: n ≥ |Th| ≥ Fh.Existe fórmula fechada para Fh:
Fh =1√5ah − 1√
5bh
Onde a = 1+√5
2, e b = 1−
√5
2.
Constante b menor que 1: b = −.2763.... Então |bh| < 1.Logo:
n ≥ Fh ≥1√5ah − 1
Lembre-se: queremos h em função de n.
![Page 52: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/52.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Número de nós em árvore AVL: n ≥ |Th| ≥ Fh.Existe fórmula fechada para Fh:
Fh =1√5ah − 1√
5bh
Onde a = 1+√5
2, e b = 1−
√5
2.
Constante b menor que 1: b = −.2763.... Então |bh| < 1.
Logo:
n ≥ Fh ≥1√5ah − 1
Lembre-se: queremos h em função de n.
![Page 53: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/53.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Número de nós em árvore AVL: n ≥ |Th| ≥ Fh.Existe fórmula fechada para Fh:
Fh =1√5ah − 1√
5bh
Onde a = 1+√5
2, e b = 1−
√5
2.
Constante b menor que 1: b = −.2763.... Então |bh| < 1.Logo:
n ≥ Fh ≥1√5ah − 1
Lembre-se: queremos h em função de n.
![Page 54: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/54.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)Número de nós em árvore AVL: n ≥ |Th| ≥ Fh.Existe fórmula fechada para Fh:
Fh =1√5ah − 1√
5bh
Onde a = 1+√5
2, e b = 1−
√5
2.
Constante b menor que 1: b = −.2763.... Então |bh| < 1.Logo:
n ≥ Fh ≥1√5ah − 1
Lembre-se: queremos h em função de n.
![Page 55: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/55.jpg)
Árvores AVL são balanceadas(continuação da demonstração)
n ≥ 1√5ah − 1
n + 1 ≥ 1√5ah
Use logaritmos:
loga(n + 1) ≥ loga
(1√5ah)
≥ loga1√5
+ loga ah
≥ loga1√5
+ h
![Page 56: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/56.jpg)
Árvores AVL são balanceadas(continuação da demonstração)
n ≥ 1√5ah − 1
n + 1 ≥ 1√5ah
Use logaritmos:
loga(n + 1) ≥ loga
(1√5ah)
≥ loga1√5
+ loga ah
≥ loga1√5
+ h
![Page 57: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/57.jpg)
Árvores AVL são balanceadas(continuação da demonstração)
n ≥ 1√5ah − 1
n + 1 ≥ 1√5ah
Use logaritmos:
loga(n + 1) ≥ loga
(1√5ah)
≥ loga1√5
+ loga ah
≥ loga1√5
+ h
![Page 58: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/58.jpg)
Árvores AVL são balanceadas(continuação da demonstração)
n ≥ 1√5ah − 1
n + 1 ≥ 1√5ah
Use logaritmos:
loga(n + 1) ≥ loga
(1√5ah)
≥ loga1√5
+ loga ah
≥ loga1√5
+ h
![Page 59: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/59.jpg)
Árvores AVL são balanceadas(continuação da demonstração)
n ≥ 1√5ah − 1
n + 1 ≥ 1√5ah
Use logaritmos:
loga(n + 1) ≥ loga
(1√5ah)
≥ loga1√5
+ loga ah
≥ loga1√5
+ h
![Page 60: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/60.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)
Rearranjando loga(n + 1) ≥ loga1√5︸ ︷︷ ︸
c
+h:
h ≤ log2(n + 1)
log2 a+ c
h ∈ O(log n)
Árvores AVL são balanceadas!
![Page 61: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/61.jpg)
Árvores AVL são balanceadas
(continuação da demonstração)
Rearranjando loga(n + 1) ≥ loga1√5︸ ︷︷ ︸
c
+h:
h ≤ log2(n + 1)
log2 a+ c
h ∈ O(log n)
Árvores AVL são balanceadas!
![Page 62: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/62.jpg)
Árvores AVL: inserção
Queremos inserir nova chave:I mantendo a regulagem de todos os nósI em tempo razoável
Nossa estratégia:
1. Inserção como árvore binária comum.
2. veri�car se existem nós desregulados.
3. se existem, tornar os nós regulados.
![Page 63: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/63.jpg)
Árvores AVL: inserção
Queremos inserir nova chave:I mantendo a regulagem de todos os nósI em tempo razoável
Nossa estratégia:
1. Inserção como árvore binária comum.
2. veri�car se existem nós desregulados.
3. se existem, tornar os nós regulados.
![Page 64: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/64.jpg)
Árvores AVL: inserção
Queremos inserir nova chave:I mantendo a regulagem de todos os nósI em tempo razoável
Nossa estratégia:
1. Inserção como árvore binária comum.
2. veri�car se existem nós desregulados.
3. se existem, tornar os nós regulados.
![Page 65: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/65.jpg)
Árvores AVL: inserção
Queremos inserir nova chave:I mantendo a regulagem de todos os nósI em tempo razoável
Nossa estratégia:
1. Inserção como árvore binária comum.
2. veri�car se existem nós desregulados.
3. se existem, tornar os nós regulados.
![Page 66: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/66.jpg)
Árvores AVL: exemplo de inserção
Inserir chave com valor 1 na árvore abaixo.
10
6 15
1773
42
![Page 67: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/67.jpg)
Árvores AVL: exemplo de inserção
Inserir chave com valor 1 na árvore abaixo.
10
6 15
1773
42
1
![Page 68: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/68.jpg)
Árvores AVL: exemplo de inserção
Inserir chave com valor 1 na árvore abaixo.
10
6 15
1773
42
1
![Page 69: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/69.jpg)
Árvores AVL: exemplo de inserção
Inserir chave com valor 1 na árvore abaixo.
10
3 15
1762
41 7
![Page 70: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/70.jpg)
Árvores AVL: exemplo de inserção
Inserir chave com valor 5 na árvore abaixo.
10
6 15
1773
42
![Page 71: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/71.jpg)
Árvores AVL: exemplo de inserção
Inserir chave com valor 5 na árvore abaixo.
10
6 15
1773
42
5
![Page 72: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/72.jpg)
Árvores AVL: exemplo de inserção
Inserir chave com valor 5 na árvore abaixo.
10
6 15
1773
42
5
![Page 73: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/73.jpg)
Árvores AVL: exemplo de inserção
Inserir chave com valor 5 na árvore abaixo.
10
4 15
1763
2 75
![Page 74: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/74.jpg)
Árvores AVL: regulagem dos nós
Generalizando os casos anteriores.
Nó inserido: q
I somente sub-árvores que contém q aumentaram alturaI os nós que �caram desregulados são todos ancestrais de q
Seja p o ancestral de q desregulado mais próximo de q.
I q foi inserido na sub-árvore esquerda de p
I hE (p) > hD(p)
q
p
![Page 75: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/75.jpg)
Árvores AVL: regulagem dos nós
Generalizando os casos anteriores.Nó inserido: q
I somente sub-árvores que contém q aumentaram altura
I os nós que �caram desregulados são todos ancestrais de q
Seja p o ancestral de q desregulado mais próximo de q.
I q foi inserido na sub-árvore esquerda de p
I hE (p) > hD(p)
q
p
![Page 76: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/76.jpg)
Árvores AVL: regulagem dos nós
Generalizando os casos anteriores.Nó inserido: q
I somente sub-árvores que contém q aumentaram alturaI os nós que �caram desregulados são todos ancestrais de q
Seja p o ancestral de q desregulado mais próximo de q.
I q foi inserido na sub-árvore esquerda de p
I hE (p) > hD(p)
q
p
![Page 77: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/77.jpg)
Árvores AVL: regulagem dos nós
Generalizando os casos anteriores.Nó inserido: q
I somente sub-árvores que contém q aumentaram alturaI os nós que �caram desregulados são todos ancestrais de q
Seja p o ancestral de q desregulado mais próximo de q.
I q foi inserido na sub-árvore esquerda de p
I hE (p) > hD(p)
q
p
![Page 78: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/78.jpg)
Árvores AVL: regulagem dos nós
Generalizando os casos anteriores.Nó inserido: q
I somente sub-árvores que contém q aumentaram alturaI os nós que �caram desregulados são todos ancestrais de q
Seja p o ancestral de q desregulado mais próximo de q.
I q foi inserido na sub-árvore esquerda de p
I hE (p) > hD(p)
q
p
![Page 79: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/79.jpg)
Árvores AVL: regulagem dos nós
Generalizando os casos anteriores.Nó inserido: q
I somente sub-árvores que contém q aumentaram alturaI os nós que �caram desregulados são todos ancestrais de q
Seja p o ancestral de q desregulado mais próximo de q.
I q foi inserido na sub-árvore esquerda de p
I hE (p) > hD(p)
q
p
![Page 80: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/80.jpg)
Árvores AVL: regulagem dos nós
I hE (p) > hD(p)
I .
q
p
![Page 81: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/81.jpg)
Árvores AVL: regulagem dos nós
I hE (p) > hD(p)
I .
p
u
![Page 82: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/82.jpg)
Árvores AVL: regulagem dos nós
I hE (p) > hD(p)
I Se hE (u) > hD(u)
p
T1
T2
T3
u
![Page 83: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/83.jpg)
Árvores AVL: regulagem dos nós
I hE (p) > hD(p)
I Se hE (u) > hD(u)
u
T3T2T1
p
Rotação à direita
![Page 84: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/84.jpg)
Árvores AVL: regulagem dos nós
I hE (p) > hD(p)
I Se hE (u) < hD(u)
p
u
![Page 85: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/85.jpg)
Árvores AVL: regulagem dos nós
I hE (p) > hD(p)
I Se hE (u) < hD(u)
p
u
q
T1
T2 T3
T4
![Page 86: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/86.jpg)
Árvores AVL: regulagem dos nós
I hE (p) > hD(p)
I Se hE (u) < hD(u)
q
u p
T1 T2 T3 T4
Rotação dupla à direita
![Page 87: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/87.jpg)
Árvores AVL: exemplo de inserção
E se o nó inserido estiver à direita do nó desregulado?
Inserir 20 na árvore abaixo:
10
6 15
1773
42
![Page 88: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/88.jpg)
Árvores AVL: exemplo de inserção
E se o nó inserido estiver à direita do nó desregulado?Inserir 20 na árvore abaixo:
10
6 15
1773
42 20
![Page 89: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/89.jpg)
Árvores AVL: exemplo de inserção
E se o nó inserido estiver à direita do nó desregulado?Inserir 20 na árvore abaixo:
10
6 15
1773
42 20
![Page 90: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/90.jpg)
Árvores AVL: exemplo de inserção
E se o nó inserido estiver à direita do nó desregulado?Inserir 20 na árvore abaixo:
10
6 17
2073
42
15
![Page 91: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/91.jpg)
Árvores AVL: exemplo de inserção
Inserir 16 na árvore abaixo:
10
6 15
1773
42
![Page 92: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/92.jpg)
Árvores AVL: exemplo de inserção
Inserir 16 na árvore abaixo:
10
6 15
1773
42 16
![Page 93: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/93.jpg)
Árvores AVL: exemplo de inserção
Inserir 16 na árvore abaixo:
10
6 15
1773
42 16
![Page 94: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/94.jpg)
Árvores AVL: exemplo de inserção
Inserir 16 na árvore abaixo:
10
6 16
1773
42
15
![Page 95: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/95.jpg)
Árvores AVL: regulagem de nós
Generalizando os dois casos anteriores.Nó inserido q.Seja p o ancestral de q desregulado mais próximo de q.
I q foi inserido na sub-árvore direita de p
I hD(p) > hE (p)
q
p
![Page 96: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/96.jpg)
Árvores AVL: regulagem de nós
Generalizando os dois casos anteriores.Nó inserido q.Seja p o ancestral de q desregulado mais próximo de q.
I q foi inserido na sub-árvore direita de p
I hD(p) > hE (p)
q
p
![Page 97: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/97.jpg)
Árvores AVL: regulagem de nós
Generalizando os dois casos anteriores.Nó inserido q.Seja p o ancestral de q desregulado mais próximo de q.
I q foi inserido na sub-árvore direita de p
I hD(p) > hE (p)
q
p
![Page 98: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/98.jpg)
Árvores AVL: regulagem dos nós
I hD(p) > hE (p)
I .
q
p
![Page 99: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/99.jpg)
Árvores AVL: regulagem dos nós
I hD(p) > hE (p)
I .
p
u
![Page 100: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/100.jpg)
Árvores AVL: regulagem dos nós
I hD(p) > hE (p)
I Se hE (u) < hD(u)
p
T3
T2
T1
u
![Page 101: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/101.jpg)
Árvores AVL: regulagem dos nós
I hD(p) > hE (p)
I Se hE (u) < hD(u)
u
T1 T2 T3
p
Rotação à esquerda
![Page 102: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/102.jpg)
Árvores AVL: regulagem dos nós
I hD(p) > hE (p)
I Se hE (u) > hD(u)
p
u
![Page 103: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/103.jpg)
Árvores AVL: regulagem dos nós
I hD(p) > hE (p)
I Se hE (u) > hD(u)
p
u
q
T4
T3T2
T1
![Page 104: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/104.jpg)
Árvores AVL: regulagem dos nós
I hD(p) > hE (p)
I Se hE (u) > hD(u)
q
up
T4T3T2T1
Rotação dupla à esquerda
![Page 105: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/105.jpg)
Árvores AVL: regulagem de nós
q nó inserido, p ancestral desregulado, u �lho de p na mesmasubárvore de q.Resumo dos casos:
I Caso 1: hE (p) > hD(p)
I Caso 1.1: hE (u) > hD(u)⇒ rotação direitaI Caso 1.2: hE (u) < hD(u)⇒ rotação dupla direita
I Caso 2: hE (p) < hD(p)I Caso 2.1: hE (u) < hD(u)⇒ rotação esquerdaI Caso 1.2: hE (u) > hD(u)⇒ rotação dupla esquerda
Operação de rotação: O(1) (ajustar ponteiros p.esq, p.dir , u.esq,u.dir).Encontrar p: O(log n) (caminhar de q na direção da raiz)Regular p torna a árvore AVL. Por quê?
![Page 106: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/106.jpg)
Árvores AVL: regulagem de nós
q nó inserido, p ancestral desregulado, u �lho de p na mesmasubárvore de q.Resumo dos casos:
I Caso 1: hE (p) > hD(p)I Caso 1.1: hE (u) > hD(u)⇒ rotação direita
I Caso 1.2: hE (u) < hD(u)⇒ rotação dupla direita
I Caso 2: hE (p) < hD(p)I Caso 2.1: hE (u) < hD(u)⇒ rotação esquerdaI Caso 1.2: hE (u) > hD(u)⇒ rotação dupla esquerda
Operação de rotação: O(1) (ajustar ponteiros p.esq, p.dir , u.esq,u.dir).Encontrar p: O(log n) (caminhar de q na direção da raiz)Regular p torna a árvore AVL. Por quê?
![Page 107: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/107.jpg)
Árvores AVL: regulagem de nós
q nó inserido, p ancestral desregulado, u �lho de p na mesmasubárvore de q.Resumo dos casos:
I Caso 1: hE (p) > hD(p)I Caso 1.1: hE (u) > hD(u)⇒ rotação direitaI Caso 1.2: hE (u) < hD(u)⇒ rotação dupla direita
I Caso 2: hE (p) < hD(p)I Caso 2.1: hE (u) < hD(u)⇒ rotação esquerdaI Caso 1.2: hE (u) > hD(u)⇒ rotação dupla esquerda
Operação de rotação: O(1) (ajustar ponteiros p.esq, p.dir , u.esq,u.dir).Encontrar p: O(log n) (caminhar de q na direção da raiz)Regular p torna a árvore AVL. Por quê?
![Page 108: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/108.jpg)
Árvores AVL: regulagem de nós
q nó inserido, p ancestral desregulado, u �lho de p na mesmasubárvore de q.Resumo dos casos:
I Caso 1: hE (p) > hD(p)I Caso 1.1: hE (u) > hD(u)⇒ rotação direitaI Caso 1.2: hE (u) < hD(u)⇒ rotação dupla direita
I Caso 2: hE (p) < hD(p)
I Caso 2.1: hE (u) < hD(u)⇒ rotação esquerdaI Caso 1.2: hE (u) > hD(u)⇒ rotação dupla esquerda
Operação de rotação: O(1) (ajustar ponteiros p.esq, p.dir , u.esq,u.dir).Encontrar p: O(log n) (caminhar de q na direção da raiz)Regular p torna a árvore AVL. Por quê?
![Page 109: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/109.jpg)
Árvores AVL: regulagem de nós
q nó inserido, p ancestral desregulado, u �lho de p na mesmasubárvore de q.Resumo dos casos:
I Caso 1: hE (p) > hD(p)I Caso 1.1: hE (u) > hD(u)⇒ rotação direitaI Caso 1.2: hE (u) < hD(u)⇒ rotação dupla direita
I Caso 2: hE (p) < hD(p)I Caso 2.1: hE (u) < hD(u)⇒ rotação esquerda
I Caso 1.2: hE (u) > hD(u)⇒ rotação dupla esquerda
Operação de rotação: O(1) (ajustar ponteiros p.esq, p.dir , u.esq,u.dir).Encontrar p: O(log n) (caminhar de q na direção da raiz)Regular p torna a árvore AVL. Por quê?
![Page 110: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/110.jpg)
Árvores AVL: regulagem de nós
q nó inserido, p ancestral desregulado, u �lho de p na mesmasubárvore de q.Resumo dos casos:
I Caso 1: hE (p) > hD(p)I Caso 1.1: hE (u) > hD(u)⇒ rotação direitaI Caso 1.2: hE (u) < hD(u)⇒ rotação dupla direita
I Caso 2: hE (p) < hD(p)I Caso 2.1: hE (u) < hD(u)⇒ rotação esquerdaI Caso 1.2: hE (u) > hD(u)⇒ rotação dupla esquerda
Operação de rotação: O(1) (ajustar ponteiros p.esq, p.dir , u.esq,u.dir).Encontrar p: O(log n) (caminhar de q na direção da raiz)Regular p torna a árvore AVL. Por quê?
![Page 111: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/111.jpg)
Árvores AVL: regulagem de nós
q nó inserido, p ancestral desregulado, u �lho de p na mesmasubárvore de q.Resumo dos casos:
I Caso 1: hE (p) > hD(p)I Caso 1.1: hE (u) > hD(u)⇒ rotação direitaI Caso 1.2: hE (u) < hD(u)⇒ rotação dupla direita
I Caso 2: hE (p) < hD(p)I Caso 2.1: hE (u) < hD(u)⇒ rotação esquerdaI Caso 1.2: hE (u) > hD(u)⇒ rotação dupla esquerda
Operação de rotação: O(1) (ajustar ponteiros p.esq, p.dir , u.esq,u.dir).
Encontrar p: O(log n) (caminhar de q na direção da raiz)Regular p torna a árvore AVL. Por quê?
![Page 112: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/112.jpg)
Árvores AVL: regulagem de nós
q nó inserido, p ancestral desregulado, u �lho de p na mesmasubárvore de q.Resumo dos casos:
I Caso 1: hE (p) > hD(p)I Caso 1.1: hE (u) > hD(u)⇒ rotação direitaI Caso 1.2: hE (u) < hD(u)⇒ rotação dupla direita
I Caso 2: hE (p) < hD(p)I Caso 2.1: hE (u) < hD(u)⇒ rotação esquerdaI Caso 1.2: hE (u) > hD(u)⇒ rotação dupla esquerda
Operação de rotação: O(1) (ajustar ponteiros p.esq, p.dir , u.esq,u.dir).Encontrar p: O(log n) (caminhar de q na direção da raiz)
Regular p torna a árvore AVL. Por quê?
![Page 113: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/113.jpg)
Árvores AVL: regulagem de nós
q nó inserido, p ancestral desregulado, u �lho de p na mesmasubárvore de q.Resumo dos casos:
I Caso 1: hE (p) > hD(p)I Caso 1.1: hE (u) > hD(u)⇒ rotação direitaI Caso 1.2: hE (u) < hD(u)⇒ rotação dupla direita
I Caso 2: hE (p) < hD(p)I Caso 2.1: hE (u) < hD(u)⇒ rotação esquerdaI Caso 1.2: hE (u) > hD(u)⇒ rotação dupla esquerda
Operação de rotação: O(1) (ajustar ponteiros p.esq, p.dir , u.esq,u.dir).Encontrar p: O(log n) (caminhar de q na direção da raiz)Regular p torna a árvore AVL. Por quê?
![Page 114: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/114.jpg)
Árvores AVL: algoritmo para inserção
InsereAVL(no, chave)
if chave < no ↑ .chave thenif no ↑ .ptesq 6= λ thenInsereAVL(no ↑ .ptesq, chave)
elseno ↑ .ptesq = NovoNó(chave)
else {chave > no ↑ .chave}. . .
![Page 115: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/115.jpg)
Árvores AVL: algoritmo para inserção
InsereAVL(no, chave)if chave < no ↑ .chave then
if no ↑ .ptesq 6= λ thenInsereAVL(no ↑ .ptesq, chave)
elseno ↑ .ptesq = NovoNó(chave)
else {chave > no ↑ .chave}. . .
![Page 116: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/116.jpg)
Árvores AVL: algoritmo para inserção
InsereAVL(no, chave)if chave < no ↑ .chave thenif no ↑ .ptesq 6= λ thenInsereAVL(no ↑ .ptesq, chave)
elseno ↑ .ptesq = NovoNó(chave)
else {chave > no ↑ .chave}. . .
![Page 117: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/117.jpg)
Árvores AVL: algoritmo para inserção
InsereAVL(no, chave)if chave < no ↑ .chave thenif no ↑ .ptesq 6= λ thenInsereAVL(no ↑ .ptesq, chave)
elseno ↑ .ptesq = NovoNó(chave)
else {chave > no ↑ .chave}. . .
![Page 118: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/118.jpg)
Árvores AVL: algoritmo para inserção
InsereAVL(no, chave)if chave < no ↑ .chave thenif no ↑ .ptesq 6= λ thenInsereAVL(no ↑ .ptesq, chave)if hE (no) > hD(no) + 1 then {Caso 1}
u ← no ↑ .ptesqif hE (u) > hD(u) + 1 then {Caso 1.1}RotaçãoDireita(no, u)
else {Caso 1.2}v ← u ↑ .ptdirRotaçãoDuplaDireita(no, u, v)
. . .else
no ↑ .ptesq = NovoNó(chave)
![Page 119: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/119.jpg)
Árvores AVL: Detalhes de implementação
I O cálculo de hE e hD demanda tempo O(log n).
I Esse cálculo é feito uma vez para cada nó entre q e a raiz.I Número de operações: O(log n log n) excede o desejado!I Na verdade, não preciso saber exatamente hE e hD , mas
apenas se um nó está desregulado e qual subárvore é a maior.I Uso de um campo bal ∈ {−1, 0, 1} para armazenar o balanço
de cada nó: bal := hD − hE .I A cada inserção, atualizo o balanço dos ancestrais de q. Se
algum balanço tornar-se −2 ou 2, faço as rotações apropriadas.I Um novo nó tem balanço 0.
![Page 120: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/120.jpg)
Árvores AVL: Detalhes de implementação
I O cálculo de hE e hD demanda tempo O(log n).I Esse cálculo é feito uma vez para cada nó entre q e a raiz.
I Número de operações: O(log n log n) excede o desejado!I Na verdade, não preciso saber exatamente hE e hD , mas
apenas se um nó está desregulado e qual subárvore é a maior.I Uso de um campo bal ∈ {−1, 0, 1} para armazenar o balanço
de cada nó: bal := hD − hE .I A cada inserção, atualizo o balanço dos ancestrais de q. Se
algum balanço tornar-se −2 ou 2, faço as rotações apropriadas.I Um novo nó tem balanço 0.
![Page 121: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/121.jpg)
Árvores AVL: Detalhes de implementação
I O cálculo de hE e hD demanda tempo O(log n).I Esse cálculo é feito uma vez para cada nó entre q e a raiz.I Número de operações: O(log n log n) excede o desejado!
I Na verdade, não preciso saber exatamente hE e hD , masapenas se um nó está desregulado e qual subárvore é a maior.
I Uso de um campo bal ∈ {−1, 0, 1} para armazenar o balançode cada nó: bal := hD − hE .
I A cada inserção, atualizo o balanço dos ancestrais de q. Sealgum balanço tornar-se −2 ou 2, faço as rotações apropriadas.
I Um novo nó tem balanço 0.
![Page 122: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/122.jpg)
Árvores AVL: Detalhes de implementação
I O cálculo de hE e hD demanda tempo O(log n).I Esse cálculo é feito uma vez para cada nó entre q e a raiz.I Número de operações: O(log n log n) excede o desejado!I Na verdade, não preciso saber exatamente hE e hD , mas
apenas se um nó está desregulado e qual subárvore é a maior.
I Uso de um campo bal ∈ {−1, 0, 1} para armazenar o balançode cada nó: bal := hD − hE .
I A cada inserção, atualizo o balanço dos ancestrais de q. Sealgum balanço tornar-se −2 ou 2, faço as rotações apropriadas.
I Um novo nó tem balanço 0.
![Page 123: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/123.jpg)
Árvores AVL: Detalhes de implementação
I O cálculo de hE e hD demanda tempo O(log n).I Esse cálculo é feito uma vez para cada nó entre q e a raiz.I Número de operações: O(log n log n) excede o desejado!I Na verdade, não preciso saber exatamente hE e hD , mas
apenas se um nó está desregulado e qual subárvore é a maior.I Uso de um campo bal ∈ {−1, 0, 1} para armazenar o balanço
de cada nó: bal := hD − hE .
I A cada inserção, atualizo o balanço dos ancestrais de q. Sealgum balanço tornar-se −2 ou 2, faço as rotações apropriadas.
I Um novo nó tem balanço 0.
![Page 124: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/124.jpg)
Árvores AVL: Detalhes de implementação
I O cálculo de hE e hD demanda tempo O(log n).I Esse cálculo é feito uma vez para cada nó entre q e a raiz.I Número de operações: O(log n log n) excede o desejado!I Na verdade, não preciso saber exatamente hE e hD , mas
apenas se um nó está desregulado e qual subárvore é a maior.I Uso de um campo bal ∈ {−1, 0, 1} para armazenar o balanço
de cada nó: bal := hD − hE .I A cada inserção, atualizo o balanço dos ancestrais de q. Se
algum balanço tornar-se −2 ou 2, faço as rotações apropriadas.
I Um novo nó tem balanço 0.
![Page 125: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/125.jpg)
Árvores AVL: Detalhes de implementação
I O cálculo de hE e hD demanda tempo O(log n).I Esse cálculo é feito uma vez para cada nó entre q e a raiz.I Número de operações: O(log n log n) excede o desejado!I Na verdade, não preciso saber exatamente hE e hD , mas
apenas se um nó está desregulado e qual subárvore é a maior.I Uso de um campo bal ∈ {−1, 0, 1} para armazenar o balanço
de cada nó: bal := hD − hE .I A cada inserção, atualizo o balanço dos ancestrais de q. Se
algum balanço tornar-se −2 ou 2, faço as rotações apropriadas.I Um novo nó tem balanço 0.
![Page 126: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/126.jpg)
Árvores AVL: Detalhes de implementação
10
6 15
1773
42 00
000
-1 1
-1
![Page 127: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/127.jpg)
Árvores AVL: Detalhes de implementação
10
6 15
1773
42
1
0-1
00-1
-2 1
-2
0
![Page 128: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/128.jpg)
Árvores AVL: Detalhes de implementação
10
6 15
1773
42
1
0-1
00-1
-2 1
-2
0
![Page 129: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/129.jpg)
Árvores AVL: Detalhes de implementação
10
3 15
1762
41 70
00-1
0 1
-1
0 0
![Page 130: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/130.jpg)
Árvores AVL: remoção
1. faça a remoção como na árvore de busca binária: O(log n)
2. se outro nó ocupar o lugar do nó removido, atualize osbalanços desde o pai desse nó até a posição atual do nó:O(log n)
3. percorra o caminho desde o pai do nó removido até a raiz,fazendo as operações de rotação aprorpiadas (pode ser mais deuma): O(log n)
Total: O(log n).
![Page 131: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/131.jpg)
Árvores AVL: remoção
1. faça a remoção como na árvore de busca binária: O(log n)
2. se outro nó ocupar o lugar do nó removido, atualize osbalanços desde o pai desse nó até a posição atual do nó:O(log n)
3. percorra o caminho desde o pai do nó removido até a raiz,fazendo as operações de rotação aprorpiadas (pode ser mais deuma): O(log n)
Total: O(log n).
![Page 132: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/132.jpg)
Árvores AVL: remoção
1. faça a remoção como na árvore de busca binária: O(log n)
2. se outro nó ocupar o lugar do nó removido, atualize osbalanços desde o pai desse nó até a posição atual do nó:O(log n)
3. percorra o caminho desde o pai do nó removido até a raiz,fazendo as operações de rotação aprorpiadas (pode ser mais deuma): O(log n)
Total: O(log n).
![Page 133: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/133.jpg)
Árvores AVL: remoção
1. faça a remoção como na árvore de busca binária: O(log n)
2. se outro nó ocupar o lugar do nó removido, atualize osbalanços desde o pai desse nó até a posição atual do nó:O(log n)
3. percorra o caminho desde o pai do nó removido até a raiz,fazendo as operações de rotação aprorpiadas (pode ser mais deuma): O(log n)
Total: O(log n).
![Page 134: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/134.jpg)
Árvores AVL: remoção
10
5 17
197
4
15
20
3
13 16
12
![Page 135: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/135.jpg)
Árvores AVL: remoção
10
5 17
197
4
15
20
3
13 16
12
![Page 136: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/136.jpg)
Árvores AVL: remoção
10
5 17
19
4
15
20
3
13 16
12
![Page 137: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/137.jpg)
Árvores AVL: remoção
10
4 17
195 15
20
3
13 16
12
![Page 138: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/138.jpg)
Árvores AVL: remoção
10
4 17
195 15
20
3
13 16
12
![Page 139: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/139.jpg)
Árvores AVL: remoção
15
10 17
1913 16
20
4
3 5 12
![Page 140: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/140.jpg)
Conclusão
I Árvore binária de busca ótima: inserções/remoções não sãoviáveis.
I Árvore binária balanceada: alternativa su�cientemente boa.I Árvores balanceadas são muito usadas na vida real: ex.
TreeMap e TreeSet do Java.util. Em C++, Map e Set doSTL.
I Árvore AVL: tipo de árvore balanceada.I Busca, inserção, remoção em árvore AVL: O(log n).
Próxima aula: mais árvores balanceadas � Árvores vermelho-pretas(red-black trees).
![Page 141: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/141.jpg)
Conclusão
I Árvore binária de busca ótima: inserções/remoções não sãoviáveis.
I Árvore binária balanceada: alternativa su�cientemente boa.
I Árvores balanceadas são muito usadas na vida real: ex.TreeMap e TreeSet do Java.util. Em C++, Map e Set doSTL.
I Árvore AVL: tipo de árvore balanceada.I Busca, inserção, remoção em árvore AVL: O(log n).
Próxima aula: mais árvores balanceadas � Árvores vermelho-pretas(red-black trees).
![Page 142: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/142.jpg)
Conclusão
I Árvore binária de busca ótima: inserções/remoções não sãoviáveis.
I Árvore binária balanceada: alternativa su�cientemente boa.I Árvores balanceadas são muito usadas na vida real: ex.
TreeMap e TreeSet do Java.util. Em C++, Map e Set doSTL.
I Árvore AVL: tipo de árvore balanceada.I Busca, inserção, remoção em árvore AVL: O(log n).
Próxima aula: mais árvores balanceadas � Árvores vermelho-pretas(red-black trees).
![Page 143: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/143.jpg)
Conclusão
I Árvore binária de busca ótima: inserções/remoções não sãoviáveis.
I Árvore binária balanceada: alternativa su�cientemente boa.I Árvores balanceadas são muito usadas na vida real: ex.
TreeMap e TreeSet do Java.util. Em C++, Map e Set doSTL.
I Árvore AVL: tipo de árvore balanceada.
I Busca, inserção, remoção em árvore AVL: O(log n).
Próxima aula: mais árvores balanceadas � Árvores vermelho-pretas(red-black trees).
![Page 144: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/144.jpg)
Conclusão
I Árvore binária de busca ótima: inserções/remoções não sãoviáveis.
I Árvore binária balanceada: alternativa su�cientemente boa.I Árvores balanceadas são muito usadas na vida real: ex.
TreeMap e TreeSet do Java.util. Em C++, Map e Set doSTL.
I Árvore AVL: tipo de árvore balanceada.I Busca, inserção, remoção em árvore AVL: O(log n).
Próxima aula: mais árvores balanceadas � Árvores vermelho-pretas(red-black trees).
![Page 145: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/145.jpg)
Conclusão
I Árvore binária de busca ótima: inserções/remoções não sãoviáveis.
I Árvore binária balanceada: alternativa su�cientemente boa.I Árvores balanceadas são muito usadas na vida real: ex.
TreeMap e TreeSet do Java.util. Em C++, Map e Set doSTL.
I Árvore AVL: tipo de árvore balanceada.I Busca, inserção, remoção em árvore AVL: O(log n).
Próxima aula: mais árvores balanceadas � Árvores vermelho-pretas(red-black trees).
![Page 146: Árvores VLA - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed1/materiais/avl.pdf · Árvores su cientemente boas I Árvore com altura 2log n , complexidade](https://reader033.fdocumentos.tips/reader033/viewer/2022050222/5f679970dc8b904ca0103e37/html5/thumbnails/146.jpg)
Bibliogra�a Utilizada
SZWARCFITER, J. L. e MARKENZON, L. Estruturas de Dados e seus
Algoritmos, LTC, 1994.