i - j + 2 i
¡õ ¡õ
Text a[N]: a b c x y z a b c d a b c d a b c x y z
Pattern p[N]: a b c d a b x y
¡ô
j
BruteSearch
i = 1; j = 1;
repeat
if a[i] = p[j] then
i = i + 1; j = j + 1;
else
i = i - j + 2; j = 1;
until j > M or i > N
¡ô ¡ô
i - M Not Found
Too bad!
. 0 0 0 0 0 0 0 0 0 0 0 0 1 8 * 5 + 5
0 0 0 0 1
. 1 0 0 0 0 0 0 0 0 0 0 0 0 => Boyer-Moore
1 0 0 0 0 0
T = MN