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

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

UNIVERSIDADE CATÓLICA DE PELOTAS Mestrado em Ciência da Computação Aluno: Cleber Gouvêa Professor: Paulo Roberto Gomes Luzzardi ÁRVORES PATRÍCIA.

Apresentações semelhantes


Apresentação em tema: "UNIVERSIDADE CATÓLICA DE PELOTAS Mestrado em Ciência da Computação Aluno: Cleber Gouvêa Professor: Paulo Roberto Gomes Luzzardi ÁRVORES PATRÍCIA."— Transcrição da apresentação:

1 UNIVERSIDADE CATÓLICA DE PELOTAS Mestrado em Ciência da Computação Aluno: Cleber Gouvêa Professor: Paulo Roberto Gomes Luzzardi ÁRVORES PATRÍCIA

2 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA SUMÁRIO ::  Introdução  Árvores Trie  Árvores Patrícia  Exercício Prático  Conclusão  Referências Bibliográficas

3 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA NOSSA TAG > PATRICIATREE

4 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA INTRODUÇÃO :: ÁRVORE TRIE PATRICIA TRIE ÁRVORE DE SUFIXO Tries e Relações

5 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  Á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)

6 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  Á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

7 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA ÁRVORES TRIE :: Exemplo de Representação R-Way Trie

8 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA INTRODUÇÃO :: P ratical A lgorithm T o R etrieve A lphanumeric I nformation C oded I n

9 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  Á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.

10 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA Exemplo de Representação :: Campo Avançar Campo Comparar Com

11 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  Á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

12 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA Exemplo de Inserção :: Palavra 1 Palavra 1 = Consultório Palavra 2 Palavra 2 = Consultar Consultório,Consulta 8,a Consulta Consultório Alocação do Nodo Pai Armazenamento do Registro Encontrada Diferença No Oitavo Caracter

13 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA Exemplo de Inserção 2 :: Palavra 1 Palavra 1 = Consulado Consultório,Consulta 7,a Consulado Consultório Alocação do Nodo para Alocação da Nova Palavra Verificada DIferença no Sétimo Caracter dos Nodos Existentes 1,a Consultar Acumulador Atualizado

14 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA Exemplo de Consulta :: 7,a Consulado Consultório 1,a Consultar Busca por “Consultório” Etapas: 1)Primeiro Nodo Informa pra Comparar 7º Caracter da Palavra com “a”. 2)Como “t” é maior que “a” desloca-se pra sub-árvore da direita. 3)Compara-se agora o Caracter 8º Caracter da Chave com “a” 4)Como “ó” é maior que a ele percorre a sub-árvore da direita e acha a palavra.

15 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA Exemplo de Deleção :: Consulado Consultório 1,a Consultar 7,a Consultório 8,a Consultar Etapas: 1)Primeiro Busca-se e Apaga-se a Palavra “Consulado” da Árvore 2)Soma-se o valor do Campo Avançar do Nó Pai a Todos os nós FIlhos Apagar “Consulado”

16 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA Programa de Inserção :: 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 k); i++); if (i>D) { Error /* Key already in table */; return(t); } else return( InsBetween( key, t, i ) ); } patricia InsBetween( key, t, i ) typekey key; patricia t; int i; { patricia p; if ( IsData(t) || i 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 ); };

17 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  Á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 ); } };

18 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  Á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

19 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA Suffix Tree (Exemplo) :: String: DEADBEEF Sistrings S1: DEADBEEF S2: EADBEEF S3: ADBEEF S4: DBEEF S5: BEEF S6: EEF S7: EF S8: F Folha Armazena a Posição

20 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  Á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

21 Universidade Católica de Pelotas | Disciplina de Estrutura de Dados  ÁRVORES PATRICIA Referências Bibliográficas ::  Tries and Suffix Trees. McGill University: School of Computer Science. Disponível em: suffix-trees.html  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 Patricia Patricia  FRAKES, W., BAEZA-YATES R. Information Retrieval: Data Structures and Algorithms, Prentice Hall,  Demais em:


Carregar ppt "UNIVERSIDADE CATÓLICA DE PELOTAS Mestrado em Ciência da Computação Aluno: Cleber Gouvêa Professor: Paulo Roberto Gomes Luzzardi ÁRVORES PATRÍCIA."

Apresentações semelhantes


Anúncios Google