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

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

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

Apresentações semelhantes


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

1 Trie Nuno Campos N.º 51431 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 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 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 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 Nuno Campos - N.º 51431

6 Representação de Tries
/ A E I L O R - 1 6 2 4 3 (1) (2) 5 (3) 7 8 9 (4) (5) Representação em Árvore (Non-compact trie) Representação em Matriz 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 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 Nuno Campos - N.º 51431

9 Representação compacta
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 Nuno Campos - N.º 51431

11 Suffix Trie A suffix trie de uma string X é a trie compacta de todos os sufixos de X m i n z e 1 2 3 4 5 6 7 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) 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 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 Nuno Campos - N.º 51431

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

16 Remover uma palavra (2) Trie Compacta Remover AR
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 Nuno Campos - N.º 51431

17 Referências Ramesh et al [1989] Goodrich, Tamassia [2004]
Glander, Karl W. and Durre, Karl P. [1994] Nuno Campos - N.º 51431


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

Apresentações semelhantes


Anúncios Google