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

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

ÁRVORES PATRÍCIA UNIVERSIDADE CATÓLICA DE PELOTAS

Apresentações semelhantes


Apresentação em tema: "ÁRVORES PATRÍCIA UNIVERSIDADE CATÓLICA DE PELOTAS"— Transcrição da apresentação:

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


Carregar ppt "ÁRVORES PATRÍCIA UNIVERSIDADE CATÓLICA DE PELOTAS"

Apresentações semelhantes


Anúncios Google