KMP 알고리즘
·
C++
문자열 매칭 알고리즘은 크게 3가지가 있다.KMP : 문자열 S가 있을 때, 패턴 P를 찾는 알고리즘Trie : 문자열 N개가 있을 때, 문자열 S를 찾는 알고리즘Aho-corasick : 문자열 N개가 있을 때, 패턴 P를 찾는 알고리즘그 중 KMP에 대해 알아보자 KMP 알고리즘은 KMP 알고리즘을 만든 Knuth, Morris, Prett의 앞글자를 따서 이름을 붙였다.KMP 알고리즘에서 알아야 하는 것은1. 접두사와 접미사apple을 예시로aapappapplapple elepleppleapple이다. 2. pi 배열pi[i]는 주어진 문자열의 0~i까지의 부분문자열 중 접두사==접미사가 될 수 있는 부분 문자열 중 가장 긴 것의 길이다이때, 접두사가 0~i까지의 부분 문자열과 같으면 안된다. 문자..