
[CS기초] 보이어-무어(Boyer-Moore) 문자열 탐색 알고리즘
·
크래프톤 정글/CS기초(키워드, 개념정리)
보이어-무어(Boyer-Moore) 문자열 탐색 알고리즘보이어-무어 알고리즘은 텍스트(text) 안에서 패턴(pattern) 을 탐색할 때, 비교 횟수를 줄여 효율적으로 문자열을 찾는 문자열 탐색 알고리즘입니다. 문자열 탐색 알고리즘 중 하나인 KMP보다도 빠른 평균 시간 복잡도를 자랑하며, 특히 패턴이 길고 텍스트가 클 때 효율적입니다.최악 시간 복잡도: O(N * M) (두 문자열 길이의 곱)평균 시간 복잡도: O(N + M) (두 문자열 길이의 합. 다만 KMP보다 훨씬 빠름.) 보이어-무어 알고리즘의 핵심 아이디어오른쪽에서 왼쪽으로 패턴을 비교하면서, 불일치가 발생했을 때 최대한 많이 건너뛰기 위한 두 가지 규칙을 사용합니다.Bad Character Rule (나쁜 문자 규칙)불일치한 문자가 패턴..