Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Árvores AVL: Uma árvore altamente balanceada, Manuais, Projetos, Pesquisas de Direito

Árvores avl, ou adelson-velskii e landis, são árvores binárias altamente balanceadas, onde as alturas das sub-árvores esquerda e direita de cada nó diferem no máximo por uma unidade. Saiba mais sobre as propriedades, exemplos e processos de balanceamento de árvores avl.

Tipologia: Manuais, Projetos, Pesquisas

2022

Compartilhado em 07/11/2022

Jorginho86
Jorginho86 🇧🇷

4.6

(97)

230 documentos

1 / 51

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Árvores AVL
Estrutura de Dados II
Jairo Francisco de Souza
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33

Pré-visualização parcial do texto

Baixe Árvores AVL: Uma árvore altamente balanceada e outras Manuais, Projetos, Pesquisas em PDF para Direito, somente na Docsity!

Árvores AVL

Estrutura de Dados II

Jairo Francisco de Souza

Introdução

As árvores binárias de pesquisa são projetadas para um acesso rápido à informação. Idealmente a árvore deve ser razoavelmente equilibrada e a sua altura será dada (no caso de estar completa) por h=log 2 (n+1) O tempo de pesquisa tende a O(log 2

N)

Porém, com sucessivas inserções de dados principalmente ordenados, ela pode se degenerar para O(n)

Conceito de balanceamento

Exemplo: Suponha a inclusão da chave 0 (zero). 4 12 8 2 6 10 14 1 3 5 7 9 11 13

Conceito de balanceamento

Exemplo: 4 12 8 2 6 10 14 1 3 5 7 9 11 13 0

Conceito de balanceamento

Para reorganizar a árvore anterior, foi utilizada uma abordagem O(n), no pior caso. Naturalmente, essa é uma péssima solução, uma vez que operações como inserção e remoção geralmente são efetuados em O(logn) passos. Por esse motivo, árvores completas não são recomendadas para aplicações que requeiram estruturas dinâmicas.

Conceito de balanceamento

Alternativa: utilizar um determinado tipo de árvore binária cujo pior caso para a busca não seja necessariamente tão pequeno quanto o mínimo 1 + lower_bound(logn) passos pela árvore completa. Contudo, a altura dessa árvore deve ser da mesma ordem de grandeza que a altura de uma árvore completa com o mesmo número de nós. Ou seja, deve possuir altura O(logn) para todas as suas subárvores.

Exemplo

 - Nível - Nível 
  • Nível
  • Nível
  • Nível

Árvore AVL

Em uma árvore AVL, para todo nó, seja hd a altura de uma subárvore direita e he a altura de uma subárvore esquerda de um nó: hd – he є {0, 1, -1} Se o fator de balanceamento de qualquer nó ficar menor do que -1 ou maior do que 1 então a árvore tem que ser balanceada.

Rotações simples

k2 é nó mais profundo onde falha o equilíbrio sub-árvore esquerda está 2 níveis abaixo da direita

Rotações dupla

Rotação simples não resolve o desequilíbrio! sub-árvore Q está a 2 níveis de diferença de R sub-árvore Q passa a estar a 2 níveis de diferença de P

Rotações em AVL

Na inserção utiliza-se um processo de balanceamento que pode ser de 4 tipos específicos: RR → caso Right-Right (rotação a esquerda) LL → caso Left-Left (rotação a direita) LR → caso Left-Right (rotação esquerda-direita) RL → caso Right-Left (rotação direita-esquerda)

Caso Right-Right

(rotação a esquerda)

Left-Right

(rotação esquerda-direita)

Caso Right-Left

(rotação direita-esquerda)