Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porNoelia Huertas Modificado hace 10 años
1
Cadenas de Caracteres y Emparejamiento de Patrones
Fuerza Bruta Rabin-Karp Knuth-Morris-Pratt Tries
2
Búsqueda de cadenas El objetivo de búsqueda en cadenas es hallar la localización de un patrón de texto específico dentro de un texto largo (e.g., una oración, un parráfo, un libro, etc.). Los requisitos son velocidad y eficiencia. Hay un gran número de algoritmos para esto, entre los cuales están Fuerza Bruta,Rabin-Karp, y Knuth-Morris-Pratt.
3
Fuerza Bruta El algoritmo de Fuerza Bruta compara el patrón con el texto un caracter cada vez, hasta encontrar que no coinciden los caracteres
4
Complejidad Fuerza Bruta
Dado un patrón de M caracteres de longitud, y un texto de N caracteres de longitud: Peor caso: compara el patrón con cada subcadena de texto de longitud M. Complejidad: O(MN) Mejor caso: encuentra el patrón en las primeras M posiciones del texto. Complejidad: O(N)
5
Rabin-Karp Calcula un valor hash para el patrón, y para cada subsecuencia de M-caracteres de texto. Si los valores hash son diferentes, se calcula una valor para la siguiente secuencia. Si los valores hash son iguales se usa una comparación de Fuerza Bruta.
6
Ejemplo Rabin-Karp Valor Hash de “AAAAA” es 37
Valor Hash de“AAAAH” es 100
7
Algoritmo Knuth-Morris-Pratt
El algoritmo de búsqueda Knuth-Morris-Pratt (KMP) se diferencia del método de fuerza bruta porque mantiene una pista de información obtenida en comparaciones previas. Se calcula una función de fallo (f) qie indica cuanto se la última comparación se puede reusar si existe un fallo.
8
Algoritmo KMP Complejidad: O(n + m)
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.