카테고리 없음

8-2. KMP법(KMP Method)

찹키리 2021. 7. 8. 15:49

KMP법

  • 다른 문자를 만나면 패턴을 1칸씩 옮긴 다음 다시 패턴의 처음부터 검사하는 브루트-포스법과는 다르게, 검사했던 위치 결과를 버리지 않고 이를 효율적으로 활용하는 알고리즘
  • 텍스트와 패턴의 겹치는 부분을 찾아내어 검사를 다시 시작할 위치를 구함
  • 패턴을 최소의 횟수로 옮겨 알고리즘의 효율을 높임
  • '몇 번째 문자부터 다시 검색할지'에 대한 값을 미리 '표'로  만듦
  • 표를 작성할 때 패턴 안에서 중복되는 문자의 나열을 찾아야 하는데, 이 과정에서 KMP법을 사용