Árvores AVL
-
Upload
sandro-moreira -
Category
Documents
-
view
7 -
download
0
description
Transcript of Árvores AVL
DEFINIÇÕES• 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=log2(n+1)
• O tempo de pesquisa tende a O(log2N).
• Porém, com sucessivas inserções de dados principalmente ordenados, ela pode se degenerar para O(n)
BALANCEAMENTO
• Árvores completas são aquelas que minimizam o número de comparações efetuadas no pior caso para uma busca com chaves de probabilidades de ocorrências idênticas
• Contudo, para garantir essa propriedade em aplicações dinâmicas, é preciso reconstruir a árvore para seu estado ideal a cada operação sobre seus nós (inclusão ou exclusão)
AVL• A AVL (Adelson-Velskii e Landis – 1962) é uma árvore
altamente balanceada, isto é, nas inserções e exclusões, procura-se executar uma rotina de balanceamento tal que as alturas das sub-árvores esquerda e sub-árvores direita tenham alturas bem próximas
• Uma árvore AVL é uma árvore na qual as alturas das subárvores esquerda e direita de cada nó diferem no máximo por uma unidade.
• Fator de balanceamento
Altura da subárvore direita - Altura da subárvore esquerda
ROTAÇÕES
Dupla - Filho para Direita e Pai para Esquerda
Dupla - Filho para Esquerda e Pai para Direita
DESCRIÇÃO DE ROTAÇÕESDiferença de Altura de um
NóDiferença de Altura do Nó Filho do Nó Desbalanceado Tipo de Rotação
2 1 Simples à Esquerda
2 0 Simples à Esquerda
2 -1 Dupla - Filho para Direita e Pai para Esquerda
-2 1 Dupla - Filho para Esquerda e Pai para Direita
-2 0 Simples à Direita
-2 -1 Simples à Direita
EXERCÍCIOS PARA FIXAÇÃO1. Realize os balanceamentos necessários após as ações
solicitadas:
a) Crie uma árvore com os seguintes elementos: 6, 8, 12
b) Insira o 11 e o 14 e remova o 6 na árvore da questão a
c) Crie uma árvore com os seguintes elementos: 6, 8, 7
d) Crie uma árvore com os seguintes os elementos: 6, 3, 5
e) Crie uma árvore com os elementos 10, 6, 14, 2, 8
f) Remova o elemento 14 da questão e
EXERCÍCIOS PARA FIXAÇÃO
2. Redesenhando a árvore a cada remoção, desenhe uma árvore AVL com os números a seguir : 50, 30, 55, 10, 15, 20, 80, 90, 68. A seguir remova os números 50 e 90.
3. Redesenhando a árvore a cada remoção, desenhe uma árvore AVL com os números a seguir : 50, 180, 200, 190, 198. A seguir remova os números 50 e 200.