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

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

VP Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB Multidimensionais quaternárias k-d Pesquisa Lexicográfica tries multivia tries binárias.

Apresentações semelhantes


Apresentação em tema: "VP Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB Multidimensionais quaternárias k-d Pesquisa Lexicográfica tries multivia tries binárias."— Transcrição da apresentação:

1 VP Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB Multidimensionais quaternárias k-d Pesquisa Lexicográfica tries multivia tries binárias PATRICIA

2 VP Árvores Vermelho-Pretas o correspondem a uma transformação de árvores-B, em particular a de ordem 4 para uma representação em árvore binária de pesquisa o os filhos de um nó da árvore-B podem ser representados por uma lista ligada ou por outra estrutura, como as árvores binárias de pesquisa o os ramos desta, internos a um nó da árvore-B, são os ramos vermelhos e os ramos que ligam diferentes nós da árvore-B são os ramos pretos (a cor de um nó é a cor do ramo que lhe fica imediatamente acima; a raiz é preta) o a pesquisa e a travessia é a de uma árvore binária; inserção e apagamento leva em conta a cor; processamentos O(log n) Uma árvore vermelho-preta é uma árvore binária de pesquisa em que cada nó tem a cor vermelho ou preto e que satisfaz 1. Cada caminho simples da raiz até uma subárvore vazia passa pelo mesmo número de nós pretos (equilíbrio). 2. Se um nó é vermelho, então tem um pai e este é preto. Uma árvore vermelho-preta é uma árvore binária de pesquisa em que cada nó tem a cor vermelho ou preto e que satisfaz 1. Cada caminho simples da raiz até uma subárvore vazia passa pelo mesmo número de nós pretos (equilíbrio). 2. Se um nó é vermelho, então tem um pai e este é preto. - a condição 2 garante a identificação das subestruturas internas a cada nó

3 VP Árvore-B como Vermelho-Preta j f b h s u m a c e gi l k p n o rv w xt d

4 VP Transformação de nós a b c T1T2T3T4T1T2T3T4 b ca a b T1T2T3 T2T3 b a T1T2 a b T1

5 VP Inserção genericamente, o algoritmo de inserção começa na raiz, compara as chaves para escolher a subárvore e é recursivo até encontrar uma subárvore vazia, onde cria um nó o novo nó é vermelho, para garantir a condição preta (nas árvores-B a inserção também começava por ser num nó pre-existente) se o pai do novo nó for preto, termina; se for vermelho, viola-se a condição 2; adia-se a correcção do problema; retorna-se indicação de estado de que se processou um nó vermelho está-se agora no pai: se for preto, tudo bem; se for vermelho, anota-se no estado o problema, em conjunto com a indicação de o filho ser esquerdo ou direito estamos no avô, que tem que existir e é preto; neste nível recursivo corrige-se o problema do neto: -se o tio for preto (ou não existir), basta fazer uma rotação simples ou dupla, para o lado do tio; -se o tio for vermelho, troca-se o pai e o tio para preto e o avô para vermelho o problema recomeça, agora entre o avô e o bisavô, com a indicação de estado de nó vermelho; pode-se chegar a mudar a cor da raiz para vermelho, o que obriga a chamada exterior a repor a cor em preto

6 VP Repor condições de vermelho e preto T1T2T3T4 pai avô filho tio T1T2T3T4 filho avô pai tio T1T2 T3 T4 pai avô filho tio Rotação à direita T2T3 T1 avô tio T4 pai filho Dupla rotação à direita

7 VP Repor condições de vermelho e preto T1 pai avô filho tio Mudança de cor T2T3 T1 pai avô filho tio T2T3 T1 pai avô filho tio T2T3 T1 pai avô filho tio T2T3

8 VP Árvores BB e AA Árvore BB: B e Binária vermelho-preto cada nó tem no máximo 1 filho vermelho Árvores AA como BB mas só filhos direitos podem ser vermelhos reduz casos de reequilíbrio remoção: filho único de nó interno é vermelho (da condição VP); chave do nó a apagar é substituída pela menor da subárvore direita em vez de cor, nível do nó nível = 1 nas folhas nível = nível do pai em nó vermelho nível = nível do pai -1 em nó preto

9 VP Árvores AA Propriedades filho esquerdo tem nível 1 unidade abaixo do do pai filho direito tem nível 0 ou 1 unidade abaixo do do pai ligação ao filho direito: horizontal

10 VP Árvores AA - Equilíbrio Desequilíbrio por ligação horizontal à esquerda resolve com rotação à direita (skew) Desequilíbrio por ligação horizontal à esquerda resolve com rotação à esquerda (split) 2 45 A X B P CA X B P C A X B R C G A X B C G R

11 VP Inserção em Árvores AA insere(Elemento x, Arvore t) if ( x < t.elemento) t.left = insere( x, t.left); else if (x > t.elemento) t.right = insere( x, t.right); else return t; t = skew(t); t = split(t); skew : rotação com filho esquerdo se t.left.level == t.level split : rotação com filho direito se t.right.right.level == t.level

12 VP Árvores AA - Inserir depois de split em 35depois de skew em

13 VP Árvores AA - Inserir depois de split em 40 depois de skew em

14 VP Árvores AA - Inserir depois de split em Árvore aumentou 1 nível Crescimento é na raiz, à maneira das árvores B

15 VP Árvores AA - Remover Nó que não é folha tem filho direito (se tem filho esquerdo, pela condição de Vermelho-Preto) pode substituir-se pelo menor da subárvore direita - este tem de estar ao nível 1 porque não pode ter filho esquerdo (é o menor) e se tiver filho direito é do mesmo nível para remover, descer na árvore mantendo registo do nó a apagar e do mínimo ao chegar ao fundo da árvore: substituir nó a apagar pelo mínimo e remover o mínimo ajustar nós e seus níveis, e reequilibrar se necessário Ao apagar 1:. 2 passa a ser nível 1. 5 passa a ser nível 1 Se 5 é nível 1,. 6 e 7 são nível 1. Ligação a 3 é horizontal. 3 e 4 são de nível 1

16 VP Árvores AA - Remover depois de skew em 5 (com 3) depois de skew em 5 (com 4) depois de split em depois de split em

17 VP Treaps Características Nó da árvore: 1 elemento, 2 nós filhos e a prioridade Prioridade de um nó não inferior à do seu pai Propriedades nó de menor prioridade é raiz colecção de elementos distintos com prioridades distintas: árvore é única código simples eficiência esperada O(log N) Operações Inserção: inserir folha e rodar para cima até satisfazer prioridades Apagamento: pesquisar elemento, passar prioridade a, rodar para baixo até ser folha, apagar


Carregar ppt "VP Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB Multidimensionais quaternárias k-d Pesquisa Lexicográfica tries multivia tries binárias."

Apresentações semelhantes


Anúncios Google