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

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

Nuno Campos - N.º 51431 1 Trie Nuno Campos N.º 51431.

Apresentações semelhantes


Apresentação em tema: "Nuno Campos - N.º 51431 1 Trie Nuno Campos N.º 51431."— Transcrição da apresentação:

1 Nuno Campos - N.º 51431 1 Trie Nuno Campos N.º 51431

2 Nuno Campos - N.º 51431 2 Introdução às Tries Trie (de retrieval) – estrutura de dados em árvore Chaves representadas por strings Suporta operações eficientes de PROCURA, INSERÇÃO e REMOÇÃO Representa um alfabeto finito Todos os descendentes de um nó têm um prefixo comum

3 Nuno Campos - N.º 51431 3 Vantagens das Tries (em relação à BST) Procura de chaves mais rápida Necessitam de menos espaço Procura de prefixo mais longo eficiente

4 Nuno Campos - N.º 51431 4 Aplicações das Tries Verificadores de Ortografia Compressão de dados Biologia computacional Tabelas de reencaminhamento para endereços IP Guardar e aplicar queries a documentos XML Aplicações Modernas: Motores de procura

5 Nuno Campos - N.º 51431 5 Tries e Motores de procura Índice de motores de pesquisa – Colecção de todas as palavras a procurar – Guardadas numa trie compacta Cada folha de uma trie – Está associada com a palavra – Lista de páginas (URLs) contendo essa palavra (lista de ocorrências) A trie é mantida em memória Lista de ocorrências é mantida em memória externa – Ordenada por relevância

6 Nuno Campos - N.º 51431 6 Representação de Tries nó/AEILOR 0-1----6 1----2-4 2---3--- 3(1)------ 4(2)----5- 5(3)------ 6---7--- 7-----89 8(4)------ 9(5)------ Representação em Árvore (Non-compact trie) Representação em Matriz

7 Nuno Campos - N.º 51431 7 Análise de Trie Não Compacta Usa espaço O(n) Suporta procuras, inserções e remoções em tempo O(dm) – n é o tamanho total das strings no conjunto total de todas as strings – m é o tamanho do parâmetro string da operação – d é o tamanho do alfabeto

8 Nuno Campos - N.º 51431 8 Tries compactas Uma trie compacta pode ter nós de grau 2 Uma trie compacta é obtida a partir de uma trie não compacta por compressão de nós redundantes

9 Nuno Campos - N.º 51431 9 Representação compacta

10 Nuno Campos - N.º 51431 10 Análise de Trie Compacta A representação compacta, para um array de strings: – Guarda, nos nós, valores de índices em vez de substrings – Usa O(s) de espaço, onde s é o número d strings no array – É utilizado como uma estrutura de índices auxiliar

11 Nuno Campos - N.º 51431 11 Suffix Trie minimize 01234567 A suffix trie de uma string X é a trie compacta de todos os sufixos de X

12 Nuno Campos - N.º 51431 12 Análise de Suffix Trie String X de tamanho n Alfabeto de tamanho d – Espaço O(n) – Queries de procura de padrões aleatórios em X: tempo O(dm) – m é tamanho do padrão – Pode ser construída em tempo O(n)

13 Nuno Campos - N.º 51431 13 Adicionar uma palavra (1) Trie Não Compacta – Procurar letras na trie – Se não encontrar, criar nós que faltam Adicionar a palavra RICO

14 Nuno Campos - N.º 51431 14 Adicionar uma palavra (2) Trie Compacta – Procurar letras na trie – Criar nó com as letras que faltam Adicionar a palavra RICO

15 Nuno Campos - N.º 51431 15 Remover uma palavra (1) Trie Não Compacta – Procurar palavra seguindo a trie – Remover a partir do fim, até atingir um nó que tenha mais de um filho Remover AR

16 Nuno Campos - N.º 51431 16 Remover uma palavra (2) Trie Compacta – Procurar palavra seguindo a trie – Remover o nó final – Caso o nó pai do nó final apenas tenha mais um filho, então juntamos o nó pai e o novo nó filho Remover AR

17 Nuno Campos - N.º 51431 17 Referências Ramesh et al [1989] Goodrich, Tamassia [2004] Glander, Karl W. and Durre, Karl P. [1994] http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Tree/Trie/ http://www.cs.mcgill.ca/~cs251/OldCourses/1997/topic7/ http://www.cse.lehigh.edu/~lopresti/Courses/2003-04/CSE397-497/lecture_8.ppt http://linux.thai.net/~thep/datrie/datrie.html http://tarar.zabvision.edu.pk/data/DS/Sufix%20Trees/Topic%20%237%20Tries%20and%2 0suffix%20trees.htm http://tarar.zabvision.edu.pk/data/DS/Sufix%20Trees/Topic%20%237%20Tries%20and%2 0suffix%20trees.htm http://www.eecs.harvard.edu/~ellard/Q-97/HTML/root/node22.html http://www.eecs.harvard.edu/~ellard/Q-97/HTML/root/node24.html http://www.cs.princeton.edu/courses/archive/spring04/cos226/lectures/trie.4up.pdf http://ww3.algorithmdesign.net/handouts/Tries.pdf http://www.cs.umd.edu/class/spring2005/cmsc132/lecs/lec22.ppt http://algo.inria.fr/seminars/sem00-01/bourdon.pdf http://en.wikipedia.org/wiki/Main_Page


Carregar ppt "Nuno Campos - N.º 51431 1 Trie Nuno Campos N.º 51431."

Apresentações semelhantes


Anúncios Google