Aho-Corasick と 1 次元 KMP の組み合わせを使用して 2 次元探索の問題を解決しようとしましたが、まだ高速化が必要です。
詳しく説明すると、サイズ n1*n2 の文字の行列 A があり、サイズ m1*m2 の小さい行列 B のすべての出現箇所を見つけたいと考えています。可能。
例えば:
A = a b c b c b
b c a c a c
d a b a b a
q a s d q a
と
B = b c b
c a c
a b a
アルゴリズムは、たとえば一致の左上隅のインデックスを返す必要があります。この場合、(0,1) と (0,3) を返す必要があります。オカレンスが重複する可能性があることに注意してください。