Ávores avl mc 202 – estruturas de dados cristiano damaschio ferreira [email protected]

30
Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira [email protected]

Upload: internet

Post on 17-Apr-2015

103 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

Ávores AVL

MC 202 – Estruturas de dados

Cristiano Damaschio [email protected]

Page 2: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

Introdução

Árvore binária de busca

Page 3: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

Introdução

Árvore binária de busca

Page 4: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

|HR – HL| < 2 Exemplos: h = 2

h = 1 h = 0

h = 0 h = 0

É AVL

Page 5: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

|HR – HL| < 2 Exemplos: h = 2

h = 1

h = 0 h = 0

NÃO É AVL

Page 6: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Fator de balanceamento b = HR – HL

Exemplo: b = 0

b = 0 b = +1

b = 0 b = 0 b = 0

Page 7: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Inserção Semelhante à inserção em árvore

binária de busca

Pode desbalancear a árvore

Page 8: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo Inserção do valor 5

b = 0

b = -1 b = +1

b = 0 b = 0

b = 0

b = -2

b = -1

b = 0

b = +1

b = 0

Page 9: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Caso a

Page 10: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Caso b

Page 11: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Caso c

Page 12: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Caso d

Page 13: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Remanejamento das árvores Rotação simples à direita

Rotação dupla à direita

Rotação simples à esquerda

Rotação dupla à esquerda

Page 14: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Rotação simples à direita

Page 15: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Rotação simples à direita ne é colocado na raiz EE permanece a sub-árvore esquerda de

ne

n torna-se a raiz da sub-árvore direita de ne

ED torna-se sub-árvore esquerda de n D permanece a sub-árvore direita de n

Page 16: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Rotação dupla à direita

Page 17: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

O caso c é similar ao caso a

Page 18: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

O caso d é similar ao caso b

Page 19: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

A remoção é similar à remoção em árvore binária de busca Primeiro, busca-se o nó que contém o

valor a ser removido. Se o nó for folha, remove-o Se o nó possuir um filho, esse filho

substitui o nó Senão, busca-se a menor (maior) folha

da sub-árvore direita (esquerda) do nó, substitui o nó por essa folha

Page 20: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

A remoção pode desbalancear a árvore Exemplo 1: remover 25

Page 21: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 1

Page 22: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 1

Page 23: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 2: Retirar 70

Page 24: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 2:

Page 25: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 2:

Page 26: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 3: Retirar 50

Page 27: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 3:

Page 28: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 3:

Page 29: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 3:

Page 30: Ávores AVL MC 202 – Estruturas de dados Cristiano Damaschio Ferreira crferreira@gmail.com

AVL

Exemplo 3: