Algorithm: Brute Force

/* n = length of text */
/* m[i] = length of pat[i] */
/* #pat = number of patterns */

FOR i = 1 TO n
  FOR p = 1 TO #pat
    FOR j = 1 TO m[p]
      IF i+j-1 > n OR pat[p][j] != text[i+j-1]
        BREAK
      ENDIF
    ENDFOR
    IF j == m[p] RETURN TRUE
  ENDFOR
ENDFOR
RETURN FALSE

Time complexity: O (m + #pat · n)
Space complexity: O (1)


Back to the Applet