티스토리 뷰
[JAVA,C#,Python 코드 비교] 11. 이분탐색
0. 검색알고리즘이란?
- 정해진 단위 절차를 반복하면 원하는 결과를 얻을 때 사용하는 것
1. 이분탐색(Binary Search)란?
- 정렬 등과 함께 가장 기초인 알고리즘
- 검색 범위를 줄여나가면서 원하는 데이터를 검색하는 알고리즘
- 이진탐색을 위해서는 자료가 순서에 따라 정렬되어 있어야 함
2. 문자열 검색 알고리즘
- 주어진 문자열 에서 찾고자 하는 문자열이 있을 때, 해당 문자열 위치를 찾는 알고리즘
3. KMP 검색 알고리즘
- 문자열 안에서 부분 문자열을 검색할 때 검색에 실패한 위치를 기반으로 비교할 필요가 없는 문자열은 건너뛰고, 다음번 검색위치를 결정하는 알고리즘
4. BM 검색 알고리즘
- 문자열을 데이터에 검색할 때 검색할 문자열의 끝에서부터 비교하다가 일치하지 않는 문자를 만나면 검색할 문자열만큼 이동하여 검색을 수행하는 알고리즘
- 알고리즘 고안자인 Boyer, moore의 2명의 읆을 따서 BM 알고리즘이라고 명명
< 출처>
1. 그림으로 정리한 알고리즘과 자료 구조
<출처>
1. code0xff.tistory.com/5?category=723754
2.
'Programming > 자료구조' 카테고리의 다른 글
[자료구조/코테] DFS/BFS (0) | 2022.03.01 |
---|---|
[자료구조] 5. 탐욕 알고리즘(Greedy Algorithm)& 동적계획법(Dynamic Programming) (0) | 2021.02.06 |
[자료구조] 1. String & Array (0) | 2020.09.10 |
python 자료구조 set, list, dictionary , tuple (0) | 2019.10.07 |
python 제어문 (0) | 2019.10.06 |
댓글