Boyer-Moore

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;
}

offset ist Maximum von:



Johannes Waldmann 2008-01-24