✔ 이진 탐색
이진 탐색이란?
- 데이터가 정렬돼 있는 상태에서 원하는 값을 찾아내는 알고리즘
- 대상 데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 대상을 찾음
- 시간 복잡도는 O(logN)
- 원하는 데이터를 찾을 때 사용하는 가장 일반적인 알고리즘
- 구현 및 원리가 비교적 간단하므로 많은 코딩 테스트에서 부분 문제로 요구하는 영역
이진 탐색 과정
- 현재 데이터의 중앙값을 선택
- 중앙값 > 타깃 데이터일 때 중앙값 기준으로 왼쪽 데이터를 선택
- 중앙값 < 타깃 데이터일 때 중앙값 기준으로 오른쪽 데이터를 선택
- 위 과정을 반복하다가 중앙값 == 타깃 데이터일 때 탐색을 종료
더보기
Do it! 알고리즘 코딩테스트 with JAVA
'Coding Test > Java 알고리즘 개념' 카테고리의 다른 글
[정수론] 소수 (0) | 2023.07.04 |
---|---|
[그리디] 그리디 (0) | 2023.07.04 |
[탐색] BFS (너비 우선 탐색) (0) | 2023.07.03 |
[탐색] DFS (깊이 우선 탐색) (0) | 2023.07.03 |
[정렬] 기수 정렬 (0) | 2023.07.01 |