Aho-Corasick과 단일 차원 KMP의 조합을 사용하여 2 차원 검색의 문제를 해결하려고했지만 더 빨리해야합니다.2 차원 KMP를 구현하는 방법에 대한 논문이나 설명이 있습니까?
정교하게 말하면, 크기가 n1 * n2 인 행렬 A를 가지며, 크기가 m1 * m2 인 더 작은 행렬 B를 모두 찾고 싶습니다. 그리고 그 행렬을 O (n1 * n2 + m1) * m2) 가능하다면. 예를 들어
:
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)이다. 어커런스가 겹칠 수 있습니다.
확장 질문. 문제가 정확히 무엇입니까? 2D 문자 배열이 있는데, 수직 또는 수평 단어를 찾고 싶습니까? – maniek
@ maniek- 나는 OP가 다른 2D 그리드의 문자 안에서 2D 그리드를 검색하려고한다고 생각합니다. – templatetypedef