A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

INF 1010 Estruturas de Dados Avançadas Árvores 2-3 17/10/20111© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.1.

Apresentações semelhantes


Apresentação em tema: "INF 1010 Estruturas de Dados Avançadas Árvores 2-3 17/10/20111© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.1."— Transcrição da apresentação:

1 INF 1010 Estruturas de Dados Avançadas Árvores /10/20111© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

2 Características Árvores 2-3 Cada nó armazena 1 ou 2 chaves Cada nó interno possui 2 ou 3 filhos São balanceadas Não dependem de operações de rotação Balanceamento é garantido diretamente pelas operações de inserção e remoção 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

3 Características Árvores 2-3 (cont.) São árvores de busca Nó interno com 2 filhos Nó interno com 3 filhos 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

4 Caminhamento Caminhamento em Ordem Infixa (esboço) 1. Caminhe pela subárvore da esquerda. 2. Imprima a menor chave (que pode ser a única). 3. Caminhe pela subárvore do meio. 4. Imprima a maior chave, se existir. 5. Caminhe pela subárvore da direita, se existir. 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

5 Busca Exemplo: Busca por /10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

6 Inserção Algoritmo de Inserção (esboço) 1. Localize a folha onde a nova chave será inserida. 2. Divida a folha, se necessário. 3. Divida nós internos, recursivamente, se necessário. 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

7 Inserção Algoritmo de Inserção (cont.) Se a folha já tem 2 chaves, divida a folha Mova a chave do meio para o pai 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

8 Inserção Algoritmo de Inserção (cont.) Se o pai já tem 2 chaves, divida o pai Mova a chave do meio para o pai do pai 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

9 Inserção Algoritmo de Inserção (cont.) Se a raiz já tem 2 chaves, crie nova raiz Mova a chave do meio para a nova raiz 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

10 Inserção Inserção de 39 Localize a folha onde 39 deve ser inserida A folha só tem 1 chave: insira 39 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

11 Inserção Inserção de 38 Localize a folha onde 38 deve ser inserida A folha tem 2 chaves: simule a inserção de 38 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

12 Inserção Inserção de 38 Mova a chave do meio para o pai p Separe o menor e o maior valores em 2 nós, que serão filhos de p 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

13 Inserção Inserção de 37 Localize a folha onde 37 deve ser inserida A folha só tem 1 chave: insira 37 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

14 Inserção Inserção de 36 Localize a folha onde 36 deve ser inserida A folha já tem 2 chave: Simule a inserção de 36 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

15 Inserção Inserção de 36 Simule mover a chave do meio para o pai p Simule criar 2 novos filhos de p 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

16 Inserção Inserção de 36 Divida o nó p Mova a chave do meio para o pai de p Os nós com as chaves menor e maior formam novos nós Redistribua os 4 filhos de p entre os novos nós 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

17 Exercício Ilustre como fica a árvore 2-3, inicialmente vazia, com a seguinte sequência de inserções: 1, 2, 3, 4, 5, 6 e 7. 17/10/2011© 2011 DI, PUC-Rio Estruturas de Dados Avançadas

18 Exercício Algoritmo de busca struct node { int x, y; Node *l, *m, *r; }; y = -1, significa ausência de valor. 17/10/2011© 2011 DI, PUC-Rio Estruturas de Dados Avançadas

19 Remoção Algoritmo de Remoção (esboço) 1. Se a chave a ser removida pertencer a uma folha, Remova a chave. 2. Se a chave a ser removida pertencer a um nó interno Troque a chave com a sua sucessora (que necessariamente está em uma folha). Remova a chave (da folha). 3. Redistribua e combine nós. 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

20 Remoção Algoritmo de Remoção (cont) Remova e Redistribua – Casos 1 e 2 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

21 Remoção Algoritmo de Remoção (cont) Remova e Redistribua – Casos 3 e 4 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

22 Remoção Algoritmo de Remoção (cont) Remova e Combine – Casos 5 e 6 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

23 Remoção Algoritmo de Remoção (cont) Remova e Combine – Caso 7 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

24 Remoção Algoritmo de Remoção (cont) Remova e Redistribua – Caso 8 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

25 Remoção Algoritmo de Remoção (cont) Remova e Redistribua – Caso 9 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

26 Remoção Algoritmo de Remoção (cont) Remova e Combine – Caso 10 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

27 Remoção Algoritmo de Remoção (cont) Remova e Combine – Caso 11 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

28 Remoção Algoritmo de Remoção (cont) Remova a raiz – Caso 12 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

29 Remoção Remoção de 65 O nó que contém 65 é interior Troque 65 com a sua sucessora 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

30 Remoção Remoção de 65 Remova 65 Como a folha possui 2 chaves, é possível remover 65 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

31 Remoção Remoção de 70 O nó que contém 70 é interior Troque 70 com a sua sucessora 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

32 Remoção Remoção de 70 Remova 70 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

33 Remoção Remoção de 70 A árvore torna-se inválida Combine nós 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas

34 Resumo Árvores 2-3 Cada nó armazena 1 ou 2 chaves Cada nó interno possui 2 ou 3 filhos Algoritmos de inserção e remoção mantém as árvores balanceadas Caso especial de Árvores-B 17/10/2011© 2011 DI, PUC-Rio Estruturas de Dados Avançadas


Carregar ppt "INF 1010 Estruturas de Dados Avançadas Árvores 2-3 17/10/20111© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.1."

Apresentações semelhantes


Anúncios Google