티스토리 뷰

[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. 

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함