Árvores Splay Estruturas de Dados

Slides:



Advertisements
Apresentações semelhantes
AULA 8 Profa. Sandra de Amo GBC053 – BCC
Advertisements

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Estruturas de Dados Árvores Binárias
Conceitos e algoritmos
Estruturas de Dados Arvores
Pesquisas de Dados (Parte 2)
Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB
Organização e Recuperação da Informação
ACESSO À MEMÓRIA SECUNDÁRIA - ÁRVORES
Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC
MC 202 – Estruturas de dados
Árvore Binária - altura máxima A: Inserção de 1, 2, 3, 4, 5, 6 e 7 Pior caso: O(n)

David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
SEMINÁRIO DE ALGORITMOS
André Lopes Pereira Luiz Carlos Barboza Júnior
Árvores Introdução e Aplicações Árvores de Busca Binária Fundamentos
Árvores AVL.
Árvores Balanceadas (AVL)
Métodos de Pesquisa: Seqüencial e Binária
Árvores Binárias de Pesquisa (ABP)
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 6.
Árvore Binária & AVL Equipe: Felipe Pontes Gustavo Márcio
Indexação de Arquivos Página de rosto.
Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Pesquisa em Memória Primária
INF 1010 Estruturas de Dados Avançadas
Estruturas de Dados com Jogos
Algorítmos e estrutura de dados III
Trie Nuno Campos N.º Nuno Campos - N.º
Operações de Inserção e Remoção – BTree Resumo
Algoritmos e Estrutura de Dados III
Introdução e Busca Cega
Árvores Balanceadas Liliane Rose Benning Salgado.
Rotação Simples e Dupla Katia Guimarães
Problema do menor Caminho
INE 5384 Estruturas de Dados Prof a. Patrícia Vilain
Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um dado pode ser qualquer.
TRIES Estruturas de Dados Professor Dr. Paulo Roberto Gomes Luzzardi
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA
Árvores B Obs: Uma árvore 2-3 é uma árvore B de ordem 1.
SISTEMAS DE INFORMAÇÃO
Árvores Prof. Dr. rer. nat. Daniel Duarte Abdala DAS 5102 – Fundamentos da Estrutura da Informação 1.
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
– Aula 20 Adaptado por Reinaldo Fortes para o curso de
Árvores Vermelho-Preto
Árvores AVL Balanceadas (Árvore Binária Balanceada)
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Prof. Hilton Cardoso Marins Junior
Árvores Rubro-Negras São árvores balanceadas segundo um critério ligeiramente diferente do usado em árvores AVL A todos os nós é associada uma cor que.
Árvores AVL Algoritmos e Estruturas de Dados - IF672
Estruturas Avançadas de Dados UNISINOS
AULA 21 Profa. Sandra de Amo BCC - UFU
B-tree Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB Multidimensionais quaternárias k-d Pesquisa Lexicográfica tries multivia tries.
AVL Árvores Equilibradas Sumário AVL Splay B Vermelho-Preto AA e BB Multidimensionais quaternárias k-d [Pesquisa Lexicográfica tries multivia tries binárias.
Árvores B Motivação: pesquisa em disco
Árvores de Busca Binária
1 de outubro de Árvores de Busca e Árvores AVL Parte 1 Katia Guimarães.
Métodos de Pesquisa: Seqüencial e Binária
Árvores Balanceadas (AVL)
Árvores Binárias e Árvores AVL Katia Guimarães. Árvores Binárias e Árvores AVL Katia S. Guimarães
Adriana Libório Fernandes Lins Arthur Cavalcanti Alem Átila Valgueiro Malta Moreira Flavio Juvenal da Silva Júnior Gustavo Cauê Silva Botelho Matheus Bispo.
BANCO DE DADOS II Árvore de Dados. FATEC - GUARATINGUETÁ Professor: Eduardo Barbosa Adiel Lemos Ana Renata Bruno Michael Jéssica Fernanda Layla Monique.
INE5408 Estruturas de Dados Árvores B - Estrutura e peculiaridades -Algoritmos de inserção, pesquisa e deleção.
UNIVERSIDADE FEDERAL DE MINAS GERAIS Árvores Cristiano Arbex Valle Vinicius Fernandes dos Santos
Árvores André Moraes.
Transcrição da apresentação:

Árvores Splay Estruturas de Dados Prof. Dr. Paulo Roberto Gomes Luzzardi Aluno: Edécio Fernando Iepsen

Splay Tree É uma árvore binária de pesquisa (BST) É uma árvore auto-equilibrada. Em qualquer operação (pesquisa, inserção, remoção) a árvore faz SPLAY. Basicamente fazer SPLAY, é trazer um elemento x para a raiz da árvore (BTT- Bring To Top), utilizando sucessivas rotações e tantas quanto necessárias, chamadas ZIG, ZIGZIG e ZIGZAG.

Splay Tree Lema: “Tornar mais acessível o que é mais usado” Ajusta a estrutura da árvore à freqüência de acesso aos dados Junto à raiz estão os elementos mais usados mais recentes Os mais inativos ficam mais “longe” da raiz Cada vez que um elemento é pesquisado o nó respectivo é puxado para a raiz usando rotações duplas AVL

Exemplo de Uso Consultas bancárias Ao fazer uma consulta, o registro de um cliente será levado para o topo da árvore, diminuindo o tempo de acesso para as próximas consultas. Assim, clientes que fazem consultas freqüentemente terão acesso mais rápido. Os registros de clientes que não utilizam estes serviços, por sua vez, ficarão nos níveis mais inferiores da árvore.

Splay Tree: zig e zag

Splay Tree: zig-zig

Splay Tree: zig-zag

Algoritmo de Pesquisa(x, A) Início Faz percurso BST até encontrar. Se existe o elemento x na árvore A         Faz SPLAY do elemento x Senão         Faz SPLAY do sucessor esquerdo mais próximo de x Fim Exemplo de pesquisa(9, A): 1) Pesquisa tipo BST até encontrar, existe então faz SPLAY do x (neste caso 9). Caso não existisse faria SPLAY do 8, que é o elemento menor mais próximo de 9. 2) Neste caso para fazer SPLAY é utilizado o ZIGZAG(x). 3) Árvore final com o x na raiz.

Algoritmo de Inserção(A, x) Início Faz SPLAY do elemento x . Como não existe, o elemento menor mais  próximo de x fica na raiz Agora é só inserir x, que passa a ser a raiz da árvore Fim Exemplo de inserção(8, A): 1) SPLAY(8)   2) 7 vai para a raiz 3) Inserir 8, 7 é o seu filho esquerdo,e 10 o seu filho direito.

Algoritmo de Remoção(A, x) Início Se existe o elemento x na árvore A.    Faz SPLAY do elemento x.      Faz SPLAY do elemento x, na sua subárvore esquerda.      Traz o elemento menor mais próximo de x para a raiz.      Remove o x. Senão      Faz SPLAY do elemento menor mais próximo de x. Fim Exemplo de remoção(12, A): 1) Pesquisa tipo BST   2) SPLAY (12,A) 3) SPLAY (12,A') onde A' é a subárvore esquerda do 12, assim temos a certeza que o 12 não vai ter filho esquerdo. 4) Elemento menor mais próximo de 12 na raiz e sem filho esquerdo podemos então remover. 5) Elimina-se o 12 e liga-se o pai de x (12) com seu filho direito (15)

Conclusão Árvores Splay podem ficar desequilibradas mas garantem uma complexidade O(log n) ao longo do tempo de utilização (complexidade amortizada) Ajusta a árvore à freqüência de acesso aos dados Junto à raiz estão os elementos mais usados mais recentes os mais inativos ficam mais longe da raiz

Referências Bibliografia: Drozdek, Adam. Estrutura de Dados e Algoritmos em C++ (Árvores Auto-Ajustadas) Sites: http://www.cs.nyu.edu/algvis/java/SplayTree.html http://w3.ualg.pt/~hshah/ped/Aula%2011/A11/aula11.html http://inf.unisinos.br/~ari/estrut/splay.pdf http://dct.ual.pt/historial/2004_05/aed2/teoricas/Semana6.pdf Demonstrações: http://webpages.ull.es/users/jriera/Docencia/AVL/AVL%20tree%20applet.htm http://www.ibr.cs.tu-bs.de/courses/ss98/audii/applets/BST/SplayTree-Example.html