Escolar Documentos
Profissional Documentos
Cultura Documentos
2010
Introduo
baseada na representao das chaves como uma seqncia de caracteres ou de dgitos. Os mtodos de pesquisa digital so particularmente vantajosos quando as chaves so grandes e de tamanho varivel.
Introduo (cont.)
Um aspecto interessante quanto aos mtodos de pesquisa digital a possibilidade de localizar todas as ocorrncias de uma determinada cadeia em um texto, com tempo de resposta logartmico em relao ao tamanho do texto.
Introduo (cont.)
Trie
uma rvore M-ria cujos ns so vetores de M componentes com campos correspondentes aos dgitos ou caracteres que formam as chaves. Cada n no nvel i representa o conjunto de todas as chaves que comeam com a mesma seqncia de i dgitos ou caracteres. Este n especifica uma ramificao com M caminhos dependendo do (i + 1)-simo dgito ou caractere de uma chave.
Trie (cont.)
Cada caminho da raiz a uma folha, corresponde a uma chave. Desta forma, os nodos internos da Trie correspondem a prefixos das chaves. Considerando as chaves como seqncia de bits (M = 2)
O algoritmo de pesquisa digital semelhante ao de pesquisa em rvore Em vez de caminhar na rvore de acordo com o resultado de comparao entre chaves, caminha-se de acordo com os bits de chave.
Exemplo
2.
Se o n externo em que a pesquisa terminar for vazio, cria-se um novo n externo nesse ponto contendo a nova chave. Se o n externo contiver uma chave cria-se um ou mais ns internos cujos descendentes contero a chave j existente e a nova chave.
Consideraes
O formato das tries, diferentemente das rvores binrias comuns, no depende da ordem em que as chaves so inseridas e sim da estrutura das chaves atravs da distribuio de seus bits. Desvantagem: Formao de caminhos de uma s direo para chaves com um grande nmero de bits em comum. Exemplo: Se duas chaves diferirem somente no ltimo bit, elas formaro um caminho cujo comprimento igual ao tamanho delas, no importando quantas chaves existem na rvore (caminho gerado pelas chaves B e C).
Criado por Morrison D. R. 1968 (Sandia National Laboratories, New Mexico, USA) para aplicar na recuperao de informao em arquivos de grande porte. Knuth D. E. 1973 (Standford University, California, USA) =>novo tratamento do algoritmo.
Reapresentou-o de forma mais clara como um caso particular de pesquisa digital, essencialmente, um caso de rvore trie binria.
Sedgewick R. 1988 (Princeton University, New Jersey, USA) apresentou novos algoritmos de pesquisa e de insero baseados nos algoritmos propostos por Knuth. Gonnet, G.H (Institute for Computational Sciences, Zurich) e Baeza-Yates R. (Yahoo Research, Dept. of Computer Science, Universidad de Chile) 1991 propuseram tambm outros algoritmos.
Patricia
O algoritmo para construo da rvore Patricia baseado no mtodo de pesquisa digital, mas sem apresentar o inconveniente citado para o caso das Tries. O problema de caminhos de uma s direo eliminado por meio de uma soluo simples e elegante:
cada n interno da rvore contm o ndice do bit a ser testado para decidir qual ramo tomar.
Exemplo
0 1
Insero da Chave K
Para inserir a chave K (100010) na rvore acima, a pesquisa inicia pela raiz e termina quando se chega ao n externo contendo J. Os ndices dos bits nas chaves esto ordenados da esquerda para a direita.
Bit de ndice 1 -> subrvore direita Bit de ndice 3 -> subrvore esquerda que neste caso um n externo.
Chaves J e K mantm o padro de bits 1x0xxx, assim como qualquer outra chave que seguir este caminho de pesquisa. Novo n interno repe o n J, e este com n K sero os ns externos descendentes. O ndice do novo n interno dado pelo 1. bit diferente das 2 chaves em questo (bit de ndice 5). Para determinar qual ser o descendente esquerdo e o direito, verifique o valor do bit 5 de ambas as chaves.
0
0 1 1 0
1 0 1 1
Insero da chave W
A insero da chave W(110110) ilustra um outro aspecto. Os bits das chaves K e W so comparados a partir do primeiro para determinar em qual ndice eles diferem, sendo, neste caso, os de ndice 2
O ponto de insero agora ser no caminho de pesquisa entre os ns internos de ndice 1 e 3. Cria-se a um novo n interno de ndice 2, cujo descendente direito um n externo contendo W e cujo descendente esquerdo a subrvore de raiz de ndice 3.
Estrutura de Dados
Algoritmo de Insero
Cada chave k inserida de acordo com os passos abaixo, partindo da raiz:
1. Se a sub-rvore corrente for vazia ento criado um n externo contendo a chave k (isto ocorre somente na insero da primeira chave) e o algoritmo termina.
Exemplos de Aplicaes
Referncias
Ziviani, N. Projeto de Algoritmos, Ed. Thomson, 2005 Xue , Q. The Hybrid Digital Tree and its Application to Genimic Sequence Databases, Phd Thesis, Michigan State University, 2005 Szpankowski, W. and Tang, J. On Generalized Digital Search Trees with Applications to a Generalized Lempel-Ziv Algorithm, Proceedings of the 33rd Allerton Conference, pp. 891-900, 1995