Carregar apresentação
PublicouLucas Formosa Alterado mais de 9 anos atrás
1
ÁRVORES PATRÍCIA UNIVERSIDADE CATÓLICA DE PELOTAS
Mestrado em Ciência da Computação ÁRVORES PATRÍCIA Aluno: Cleber Gouvêa Professor: Paulo Roberto Gomes Luzzardi
2
ÁRVORES PATRICIA SUMÁRIO :: Introdução Árvores Trie Árvores Patrícia
Exercício Prático Conclusão Referências Bibliográficas Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
3
NOSSA TAG > PATRICIATREE
ÁRVORES PATRICIA NOSSA TAG > PATRICIATREE Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
4
ÁRVORES PATRICIA INTRODUÇÃO :: Tries e Relações ÁRVORE TRIE
PATRICIA TRIE ÁRVORE DE SUFIXO Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
5
ÁRVORES PATRICIA ÁRVORES TRIE :: Definida em 1960 por Edward Fredkin
Vêm de Retrieval (Relacionado à Recuperação de Informações) Para distinção com tree pronuncia-se try Cada nó contém informações sobre um ou mais símbolos do alfabeto utilizado O Alfabeto pode abranger: {0,1} , {A,B,C,D...} ou {0,1,2,3,4...} e mais o caracter nulo (ou branco) Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
6
ÁRVORES PATRICIA ÁRVORES TRIE ::
O caminho da raiz (root) da trie para qualquer outro nó em representa um prefixo de uma string Principais Aplicações Abrangem: Corretores Ortográficos, Auto-Preenchimento de Textos e Armazenamento/Busca de Documentos XML Em Tries Compactas todos os descendentes diretos do mesmo pai são agrupados No último nodo, o último caracter da palavra sendo procurada deverá ter associado a si (como seu apontador) a posição da palavra no texto Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
7
ÁRVORES PATRICIA ÁRVORES TRIE :: Exemplo de Representação R-Way Trie
Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
8
P ratical A lgorithm T o R etrieve I nformation C oded I n
ÁRVORES PATRICIA INTRODUÇÃO :: P ratical A lgorithm T o R etrieve I nformation C oded I n A lphanumeric Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
9
ÁRVORES PATRICIA INTRODUÇÃO :: Definida em 1968 por Donald R. Morrison
Trie Compactada Binária Caminhos que possuem nós com apenas 1 filho são agrupados em uma única aresta Diferente das Tries não armazena informações nos nodos internos, apenas contadores e ponteiros para cada sub-árvore descendente. Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
10
Exemplo de Representação ::
ÁRVORES PATRICIA Exemplo de Representação :: Campo Comparar Com Campo Avançar Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
11
Exemplo de Representação ::
ÁRVORES PATRICIA Exemplo de Representação :: Campo Avançar Registro Acumulativo que Integra todos os Nodos Exceto os Folhas Identifica qual a Posição do Caracter da Chave Informada que deve ser analisado Campo Comparar Com Apresenta o Caracter que deve ser Comparado ao Caracter da Chave Informada Como nas Árvores Binárias de Busca, após a análise, se a Chave é Menor ou Igual ao Nodo ela é Alocada/Consultada à Esquerda senão à Direita Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
12
ÁRVORES PATRICIA Exemplo de Inserção :: Palavra 1 = Consultório
Palavra 2 = Consultar Encontrada Diferença No Oitavo Caracter Consultório,Consulta 8,a Alocação do Nodo Pai Armazenamento do Registro Consulta Consultório Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
13
ÁRVORES PATRICIA Exemplo de Inserção 2 :: Palavra 1 = Consulado
Verificada DIferença no Sétimo Caracter dos Nodos Existentes Consultório,Consulta Alocação do Nodo para Alocação da Nova Palavra 7,a Acumulador Atualizado Consulado 1,a Consultar Consultório Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
14
ÁRVORES PATRICIA Exemplo de Consulta :: Busca por “Consultório”
Etapas: Primeiro Nodo Informa pra Comparar 7º Caracter da Palavra com “a”. Como “t” é maior que “a” desloca-se pra sub-árvore da direita. Compara-se agora o Caracter 8º Caracter da Chave com “a” Como “ó” é maior que a ele percorre a sub-árvore da direita e acha a palavra. 7,a Consulado 1,a Consultar Consultório Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
15
ÁRVORES PATRICIA Exemplo de Deleção :: Apagar “Consulado” Etapas: 7,a
Primeiro Busca-se e Apaga-se a Palavra “Consulado” da Árvore Soma-se o valor do Campo Avançar do Nó Pai a Todos os nós FIlhos 7,a Consulado 1,a Consultar Consultório 8,a Consultar Consultório Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
16
Programa de Inserção ::
ÁRVORES PATRICIA Programa de Inserção :: patricia InsBetween( key, t, i ) typekey key; patricia t; int i; { patricia p; if ( IsData(t) || i < t->level ) { /* create a new internal node */ p = NewDataNode( key ); return( bit(i,key) ? NewIntNode(i,t,p) : NewIntNode(i,p,t) ); } if (bit(t->level,key)==1) t->right = InsBetween( key, t->right, i ); else t->left = InsBetween( key, t->left, i ); return( t ); }; patricia insert( key, t ) typekey key; patricia t; { patricia p; patricia InsBetween(); int i; if (t==NULL) return( NewDataNode(key) ); for( p=t; !IsData(p); ) p = bit( p->level, key ) ? p->right : p->left ; /* find first different bit */ for (i=1; i<=D && bit(i,key)==bit(i,p->k); i++); if (i>D) { Error /* Key already in table */; return(t); } else return( InsBetween( key, t, i ) ); } Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
17
Programa de Consulta ::
ÁRVORES PATRICIA Programa de Consulta :: search( key, t ) typekey key; patricia t; { if ( t==NULL ) notfound( key ); else while ( !IsData(t) ) t = bit(t->level,key) ? t->right : t->left; if ( key == t->k ) found( t ); else notfound( key ); } }; Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
18
ÁRVORES PATRICIA Suffix Tree :: Definida por P. Weiner em 1973
Árvore Patrícia construída sobre todas as possíveis sistrings de um texto Sistrings são strings com início em algum ponto do texto e com término no fim Principais Aplicações abrangem índices Full-Text e Algoritmos de Clustering Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
19
Suffix Tree (Exemplo) ::
ÁRVORES PATRICIA Suffix Tree (Exemplo) :: String: DEADBEEF Folha Armazena a Posição Sistrings S1: DEADBEEF S2: EADBEEF S3: ADBEEF S4: DBEEF S5: BEEF S6: EEF S7: EF S8: F Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
20
Considerações Finais ::
ÁRVORES PATRICIA Considerações Finais :: Tries e Árvores de Sufixo são ideais quando se deseja Flexibilidade e Escalabilidade para as Consultas Árvores Patrícia buscam tornar mais compactas as Tries com isso ganham em Velocidade, por outro lado não possuem Escalabilidade adequada quando se têm muitas chaves distintas para um mesmo caracter Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
21
Referências Bibliográficas ::
ÁRVORES PATRICIA Referências Bibliográficas :: Tries and Suffix Trees. McGill University: School of Computer Science. Disponível em: GOETZE, Ari Ricardo. Universidade do Vale do Rio dos Sinos. DisponíveL em HORA, André Cavalcante, CRUZ Cicero Alan Leite, SILVA Tiago Eduardo. Tries e Árvore Patricia. Disponível em FRAKES, W., BAEZA-YATES R. Information Retrieval: Data Structures and Algorithms, Prentice Hall, 1992. Demais em: Universidade Católica de Pelotas | Disciplina de Estrutura de Dados
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.