알고리즘 공부
2022. 1. 31.
아호 - 코라식 (Aho-Corasick) 알고리즘
아호-코라식 알고리즘은 대표적인 문자열 알고리즘 중 하나로써, 매우 빠른 일대 다 패턴 매칭 알고리즘입니다. 이와 관련해 설명하기 전에, 아호 코라식이 어떻게 쓰이는지, 왜 필요한지 간단한 예제를 통해 한번 알아보겠습니다. 주어진 단어가 다음과 같을 때, 트리는 아래처럼 구현됩니다. Words = {"HE","SHE","HIS"} 우리는 KSHE라는 문자열에서, 다음의 트라이에 포함되는 문자가 무엇이 있는지를 알고 싶습니다. 먼저, 기존의 방식처럼, 그냥 트라이를 따라 이동하는 경우를 생각해봅시다. 자식을 따라 이동하다가, 더이상 이동이 불가능한 경우, 시작 위치로 이동한다고 해봅시다. 현재 노드 Root 1 ) K로는 시작 노드에서 이동할 수 없으니 패스합니다. 현재노드 : Root 2 ) 시작노드에서..