Aho Corasick 알고리즘

긴 문자열에서 여러 개의 단어를 동시에 찾을 때 선형 시간복잡도 (이론상 최소)를 가지는 효과적인 알고리즘.
Trie 기반의 자료구조에, KMP 알고리즘처럼 실패했을 경우 어디까지 건너뛰어야 할지 알려주는 장치를 만들었다.

– 정의
http://ko.wikipedia.org/wiki/아호_코라식_알고리즘
http://en.wikipedia.org/wiki/Aho–Corasick_string_matching_algorithm


– 애니메이션으로 이해하기
http://blog.ivank.net/aho-corasick-algorithm-in-as3.html

– Java 구현
https://github.com/robert-bor/aho-corasick