Rabin-Karp
-
문자열 검색 알고리즘 (4): Rabin-Karp 알고리즘알고리즘 2025. 4. 7. 16:00
1. Rabin-Karp 알고리즘이란?Rabin-Karp 알고리즘은 문자열 내에서 특정 패턴을 효율적으로 찾기 위해 해시 함수를 사용하는 알고리즘이다. 여러 개의 패턴을 한꺼번에 찾는 데 적합하며, 해시 충돌이 적고 효율적인 해시 함수를 사용할 경우 매우 빠르게 동작한다.기본 아이디어는 텍스트의 각 부분 문자열과 찾고자 하는 패턴을 해시 값으로 변환하고, 이 해시 값이 동일할 경우 실제 문자열을 비교하는 방식이다. 일반적인 비교 방식보다 더 빠르게 일치 여부를 판단할 수 있다.2. Rabin-Karp 알고리즘의 동작 원리Rabin-Karp 알고리즘은 다음과 같은 절차로 동작한다:패턴 문자열의 해시 값을 계산한다.텍스트에서 패턴과 같은 길이의 부분 문자열의 해시 값을 계산한다.두 해시 값이 같으면, 실제 ..