Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arboles de orden >= 2 Claves de longitud variable La decisin sobre cul es el camino a seguir
se toma sobre la base de la pocin de la clave Applications:
Diccionarios Textos de busqueda (patricia tries) comprecion (Ziv-Lembel codificacion)
Tries
E.G.M. Petrakis
EJEMPLO
MACCBOY
MACAW MACARON MACARONI MACARONIC MACAQUE MACADAMIA MACADAM MACACACO MACABRE . . .
Tries 2
E.G.M. Petrakis
1. Palabras en Arboles
M A C A B R E @ C A C O @ @ D A M I A @ Q U E @ @ N I R O W B @ O O Y N @ C @ @ C A
E.G.M. Petrakis
Busqueda de palabras
A mas m+1 comparacion para encontrar palabra
x@=a1a2.am+1, con root: i=1 y t(ai): child of node ai. i=1; u = ai; while (u != @ && i <= m) { if (t(ai): undefined) X is not in the trie; else { u = t(ai); i = i+1; } if (u == @ && word(t) == X) X is in the trie; else X is not in the trie; }
E.G.M. Petrakis Tries 4
MACABRE MACACO
D A
MACADAM MACADAMI
MACAQUE M N
W MACCBOY
O MACAW O MACAROON
. .
Tries
MACARONI
MACARONIC
E.G.M. Petrakis 5
Ejemplo de Implemantacion
Inserciones
bluejay insertado
E.G.M. Petrakis
Tries
3. Arbol compacto
Nodos compactos
A ... DAM MACADAM Q MACAQUE RO N MACAW MACAROO I C MAC C MACABOY
MACADAMI
MACARON MACARONI
MACARONIC
E.G.M. Petrakis Tries 8
Patricia Trie
Algoritmo de prctica para recuperar
informacin codificada en formato alfanumrico
especialmente bueno para la bsqueda de texto reemplazar sub-palabras por una posicin de
referencia en el texto junto con su longitud
e.g., jay in the blue jay is (10,3)
Sufijo Trie
Contruir un arbol con
todos sus sufijos the blue-jay@ => 12 sufijos Unir las ramas con prefijo comn Hojas vasta sealar Search: e-jay
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Tries
longitud de la consulta: 5 Basta comprobar las posiciones 3+5 y 7+5 E.G.M. Petrakis La segunda partida
theblue-jay@ heblue-jay@ eblue-jay@ blue-jay@ lue-jay@ ue-jay@ e-jay@ -jay@ jay@ ay@ y@ @
10
Sufijo Trie
the
1 2 4 5 6 8 9 10
blue-jay
y
12
h e
3
b
7
11
buscar: e-jay@
E.G.M. Petrakis
Tries
11
Buscar Patricia
Escanear consulta de izquierda a
derecha ir al primer smbolo correspondiente en trie aumentar por el incremento si no en el trie => buscar no si todos los smbolos coinciden con la consulta => encontrado!
Tries 12
E.G.M. Petrakis
Ziv-Lempel Codificado
14
Codificacion
Construir trie:
nodos: codigo de un simbolo o de sequencia de
simbolos arc: simbolos alfabeticos Inicialmente un arbol con todos sus simbolos Su simbolo es asignado a un unico codigo
inicial trie
root a
1 2
b
3
c
........
z
26
codigos
E.G.M. Petrakis
Tries
16
b 1 2
Entrada:
a 1 b 2 a 3 b 4 c 5 b 6 a 7 b 8 a 9 b 10 a 11 a 12
E.G.M. Petrakis
Tries
17
b 1 2
3 1
b 2
salida 1
b 1 b 4
E.G.M. Petrakis Tries
salida 2
c
2 3
b 1 b 4 5 2
3
18
salida 4
b 1 b 4 5
c
c 2 3
c b 2
1 b 4 5
salida 3
6
b 2
E.G.M. Petrakis
c 3 b 5 7
Tries
b 5
19
salida 5
b 2 5 b 8
salida 8
b
b 2 5 b 8
salida 1
1 b 4 1 c 6
c 2 5 b 8
b 2 5 b 8
E.G.M. Petrakis
Tries
20
Decodificacion
Seguir las secuencias similares de
saltos en orden inbertido Comensar desde el primer arbol Escanear el codigo de izquierda a
derecha Leer siguiente simbolo de codigo Ir al nodo teniendo un codigo similar Si el codigo no esta en le arbol adivinar la paropiada pisicion en el arbol
Tries 21
E.G.M. Petrakis
b
2 3
E.G.M. Petrakis
Tries
22
b 2
b 1 2
c 3
salida b
Tries
b 4 E.G.M. Petrakis
b 1 b 4 5 2 3
E.G.M. Petrakis
Tries
24
c 2 5 3
output c
En orden ir de 3 a 5 devemos ir atraves de ba y b era su hijo 3 The next symbol is 8, but there is no 8 in the trie!!
b 1 b 4 c 6
E.G.M. Petrakis Tries 26
c 2 5 7 3 b
Esto podria pasar solo is despues 5 pasemos atraves de la parte parecida 8 no puede ser bajo 6 o 7 (no esta hay 6 o 7 en el codigo)
b 1 b 4 c 6
E.G.M. Petrakis
c 2 5 b 8
Tries
salida bb
3 b 7
27
b 1 b 4 c 6 8 9
E.G.M. Petrakis Tries
c 2 5 b 7 3 b
salida
28
Generalizando
.....
d
.....
.....
x
.....
.....
.....
x
d n
salida dxd
Caso especial: x podria ser nulo
E.G.M. Petrakis Tries 29