Professional Documents
Culture Documents
procesamiento de caracteres
Trivial
Rabin-Karp
Knuth-Morris_Pratt
Boyer-Moore
Bsqueda de
expresiones regulares
algoritmo de Boyer-Moore
(1977)
Preprocesa la cadena objetivo
(clave) que est siendo buscada,
pero no en la cadena en que se
busca.
Es sublineal: no examina
necesariamente todos los
caracteres de S y el n de
comparaciones, a menudo,
inferior a n.
F A D F A E V A S E G S O S T E N T E
S: Cadena madre 1 2 3 4 5 6 7 1 2 3 4 5 O S T E N T E
P: Patrn
Paso 1
Patrn OSTENTE
Armar la tabla primera fila:
En el ejemplo la E y la T
solo se coloca una vez.
Paso 2
Patrn OSTENTE
Posicin de los caracteres
del patrn:
Poner la posicin de la
primera aparicin del
O S T E N T E
carcter en el patrn
contando desde la derecha y 6 5 4 3 2 1 0
comenzando en 0.
Paso 3
Patrn OSTENTE
Rellenar la segunda fila
Se coloca la primera O S T E N T E
ocurrencia de derecha a 6 5 4 3 2 1 0
izquierda.
S: FADFAEVASEGSOSTENTE
P: OSTENTE
F A D F A E V A S E G S O S T E N T E
S: FADFAEVASEGSOSTENTE
P: OSTENTE F A D F A E V A S E G S O S T E N T E
1 2 3 4 5 6 7 O S T E N T E
Al recorrer 7 caracteres
volvemos a comparar la ltima
letra con la primera fila en este
caso es S como no son
iguales la buscamos con la E N O S T otro
tabla y la encontramos con 5 s
por lo que recorreremos 5 D1 0 2 6 5 1 7
caracteres.
Comprobacin
Ejemplo:
S: FADFAEVASEGSOSTENTE
P: OSTENTE
F A D F A E V A S E G S O S T E N T E