반응형
[Algorithm] 문자열 검색 - 라빈-카프 알고리즘
* Python을 기준으로 합니다문자열 검색 - 라빈-카프 알고리즘 (Rabin-Karp Algorithm)- 개념문자열 검색 (String Matching) : 주어진 문자열 내에서 특정한 패턴을 가진 문자열을 탐색하는 것e.g.) `This is Rabin Karp Algorithm`라는 문자열이 주어졌을 때, 패턴 `Karp`는 14번째 index에 있음이때 naive 한 문자열 검색 방법으로써 전체 문자열을 순회하면서 주어진 패턴과 일치하는지 여부를 판단하는 방식을 고려할 수 있음- BUT, 해당 방식은 $N$ 길이의 문자열과 $M$ 길이의 패턴에 대해 $O(NM)$의 time complexity가 소모되므로 길이가 긴 문자열에 적용하기 어려움라빈-카프 알고리즘해시를 사용하여 일치하는 패턴을 탐색..
Algorithm/Basic
2024. 5. 27. 16:15
반응형