Estructura lineal --- el algoritmo de coincidencia de patrones KMP

[Late 2014]

En KMP algoritmos cadena de coincidencia de patrones necesitan para resolver los próximos valores de la función de modelo, tal como se define a continuación fórmula, j representa una cadena de patrón número de caracteres (a partir de 1). Cuando la cadena de patrón p es "abaac", que es el siguiente valor de la función (60) .

A.01234 B.01122 C.01211 D.01111

[A]

Para este tipo de tema que he leído alguna respuesta estándar a la oficial, la impresión se ve obligado a buscar ignorante y no detalla, y yo veía bajo el algoritmo de coincidencia de patrones de KMP principio, así como material de referencia en línea resumió para tal una consejos tema son los siguientes:

idea resolución de NEXT VALUE [J]
J. 1- correspondiente a la cuerda y próximo [j-1] que corresponde a la comparación de cadenas, si es igual, el siguiente [J] = siguiente [j-1] ha hecho +1 ; si es igual, la j-1 correspondiente a la siguiente cadena [siguiente [j-1]] corresponden a la comparación de cadenas, igual o hasta el siguiente ciclo [. 1] comparación, si no, etc., para la siguiente función en los otros casos.

Usted puede probar aquí todavía no entienden lo que se entiende continuación llegamos a ayudarle a entender a través de mis pasos de la solución.

En primer lugar nos fijamos en las condiciones requeridos campos requeridos "abaac", entonces la regla de control ilustrado obtener condiciones útiles

Debido a la longitud abaac de 5 así que discutimos una longitud de bits

① 当 j = 1, siguiente [1] = 0

② Cuando j = 2,1 <k <2, no puede encontrar un k satisfacer, de lo contrario pertenece a la siguiente [2] = 1

③ Cuando j = 3, de acuerdo con lo anterior las ideas segunda resolución de bit necesidad patrón B de cadena (que corresponde a la siguiente [2] = 1) con su valor próximo [2] (es decir, un primer patrón de cadena a) para comparación, ya que b! = a, y porque la mayoría tienen una primera posición de inicio de lo que no hay precedente modo de comparación de secuencias en el que al lado de la otra [3] = 1

④ Cuando se compara j = 4, la tercera secuencia de patrón de bits una (correspondiente a la siguiente [3] = 1) y el siguiente [3] que corresponde a la cadena patrón de valores a, ya que a = a, para que la próxima [4] = próximo [3] + 1 = 2

⑤ Cuando j = 5, la secuencia de cuarto patrón de bits una (correspondiente a la siguiente [4] = 2) con el siguiente [4] La cadena de patrón es un segundo valor correspondiente a una cadena patrón de bits comparando b, porque b! = A Por lo tanto vamos a secuenciar cuarto patrón de bits a la primera configuración de bits como una secuencia a = una comparación, el siguiente [5] = siguiente [4] + siguiente [12 + 0 = 2

 

Para resumir los resultados: 01122

 

 

Ha publicado 196 artículos originales · ganado elogios 581 · vistas 470 000 +

Supongo que te gusta

Origin blog.csdn.net/wyf2017/article/details/90349204
Recomendado
Clasificación