[파이썬 알고리즘] Ch 6-3. 문자열 매칭 (2) Boyer-Moore Algorithm
참고 도서: 최영규, ⌜파이썬 알고리즘⌟ 생능츨판, 2021 보이어 무어 알고리즘(Boyer-Moore algorithm)은 호스풀 알고리즘에 추가적인 휴리스틱을 더해 효율을 높이고자 한 방법이다.
참고 도서: 최영규, ⌜파이썬 알고리즘⌟ 생능츨판, 2021 보이어 무어 알고리즘(Boyer-Moore algorithm)은 호스풀 알고리즘에 추가적인 휴리스틱을 더해 효율을 높이고자 한 방법이다.
참고 도서: 최영규, ⌜파이썬 알고리즘⌟ 생능츨판, 2021 문자열 매칭 문제는 길이가 $n$인 텍스트 속에서 길이가 $m$인 패턴의 위치를 찾는 문제이다. 억지 기법(brute force)을 적용하면 최악의 경우 텍스트의 $n-m+1$개 위치에서 각각 $m$번의 비교를 해야 하므로 시간 복잡도는 $O(nm)$이지만, 평균적으로는 이보다 훨씬...
참고 도서: 최영규, ⌜파이썬 알고리즘⌟ 생능츨판, 2021 입력의 종류에 따라서 리스트의 각 항목들을 단순히 카운트(count)하는 방법으로 정렬할 수 있는데 이러한 정렬 기법을 카운팅 정렬(Counting sort)이라고 한다. < 카운팅 정렬 기본 전략 > 리스트를 한 번 스캔하면서 각 항목이 리스트에 몇 번 나타났는지 빈...
참고 도서: 최영규, ⌜파이썬 알고리즘⌟ 생능츨판, 2021 지금까지 다루었던 정렬 방법들은 모두 배열의 요소들을 서로 비교하여 정렬하였다. 그런데 이러한 비교 연산을 사용하지 않고도 데이터를 정렬할 수 있는 독특한 정렬 기법들이 있다. <비교 기반의 정렬(Comparsion based sorting)> 요소들 끼리 ...
파이썬에서 프로젝트를 진행할 때는 각각의 프로젝트 별로 가상환경을 만들어서 진행해주는 것이 좋다. Anaconda prompt에서 conda 명령어를 통해 Python 가상환경을 Jupyter notebook 커널로 추가하거나 삭제하는 방법을 알아보자. 1. 가상환경 생성하기 conda 명령어로 venv1이라는 이름의 pyhton 3.8 버전을 사용...