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

Slides:



Advertisements
Apresentações semelhantes
II – Análise léxica DEI Papel do analisador léxico.
Advertisements

Indexação Automática de Documentos
Pilhas e Filas CONTEÚDO (1) Pilhas (2) Filas.
Linguagens Formais e Autômatos
FOLHA DE CÁLCULO 4.
Mineração de Padrões Arborescentes
Gerenciamento de Arquivos, Páginas e Registros
Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.

Pesquisa em Memória Primária
Pesquisa em Memória Primária
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
Árvores Introdução e Aplicações Árvores de Busca Binária Fundamentos
ARTIGO CIENTÍFICO.
Árvores Binárias de Pesquisa (ABP)
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Gerência de Memória Algoritmos de Substituição de Páginas
00(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Sistemas de Informações Geográficas
Dissertações e Teses-PROPAD
Programação Dinámica Análise de algoritmos UNISUL
Ponteiros.
1 4.6 – Variáveis - introdução Nesta altura (ao nível da programação) interessa saber que um computador tem: Nesta altura (ao nível da programação) interessa.
Aula 12 Biblioteca padrão do C++ O que é? Composição
Listas Encadeadas.
Revisão da Linguagem C.
Indexação de Arquivos Página de rosto.
Marco Antonio Montebello Júnior
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Arquitectura de Computadores II
Aprendizado de Máquina Aula 8
Inteligência Artificial
Introdução ao Desenvolvimento Web
Compressão de Textos Juliano Palmieri Lage.
Algoritmos e Estruturas de Dados II
Pesquisa em Memória Primária
Metodologia de Pesquisa
Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar.
Sobrecarga e Encapsulamento
Universidade Católica de Pelotas Mestrado em Ciência da Computação
Avaliação de Clusteres Parte II
Instrutor: Tarso Nunes Aires  HTML foi escrito para definir o conteúdo de um documento  Porém, tags como, atributos de cores e etc.
Extensões de arquivos.
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Rotação Simples e Dupla Katia Guimarães
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.
1-1 Copyright © Oracle Corporation, All rights reserved. Administrando Objetos de Esquema Este capítulo abordará os seguintes tópicos: Visão geral.
ÁRVORES TRIES Disciplina Estrutura de Dados
ÁRVORES PATRÍCIA UNIVERSIDADE CATÓLICA DE PELOTAS
Árvores Splay Estruturas de Dados
1.
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Primeiro Técnico Navegadores.
Pág. 01 Arquivo ARQUIVOS DE CLIP ART Programar. Pág. 02 Arquivo OBSERVAÇÃO SOBRE OS ARQUIVOS DE CLIP ART Os arquivos estão em DVD regravável, o que significa.
Ferramentas para Sistema Web
Árvore Binária de Busca
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
TRIES Estruturas de Dados Professor Dr. Paulo Roberto Gomes Luzzardi
Árvores B Obs: Uma árvore 2-3 é uma árvore B de ordem 1.
1 - Listas com Acesso Aleatório. 2 - Fila, o Acesso Ordenado (FIFO)
Ceça Moraes – Introdução à Programação SI1
Análise e Desenvolvimento de Sistemas Guilhermi Vieira Dias.
Plataforma Brasil Sistema instituído desde que substitui o SISNEP. Criado pelos Ministérios da Ciência e Tecnologia e da Saúde. Portal para.
D’Gledson Pinto Rabelo Suffix Array. Suffix Array – O que é ? É uma estrutura de dado eficiente para strings. Possui funcionalidades similares à Suffix.
Prof. Hilton Cardoso Marins Junior
Transcrição da apresentação:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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%20suffix%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 Nuno Campos - N.º 51431