\begin{slide}{Boyer-Moore}

\begin{verbatim}
int i = 0;
while (true) {
  int j = m.length ();
  while (true) {
    if (m[j] != w[i+j]) break;
    if (j == 1) return i;
    j--;
  }
  i += offset;
}
\end{verbatim}

offset ist Maximum von:
  \begin{itemize}\itemsep 0pt\parskip 2pt
  \item bad-character heuristics
  \item good-suffix heuristics
  \end{itemize}

\end{slide}
