카테고리 없음
8. 이진탐색 (binary search)
혜리노베이션
2023. 5. 30. 17:03
p. 180~194(9일차)
강의: 05-3
1. 이진탐색
- 데이터가 정렬되어 있는 상태에서 원하는 값을 찾아내는 알고리즘
- 대상 데이터의 중앙값과 찾고자 하는 값을 비교한다.
* 크기를 절반씩 줄이면서 대상을 찾음
✔ 핵심 이론
- 이진탐색은 오름차순으로 정렬된 데이터에서 다음 4가지 과정을 반복한다.
✔ 과정
1) 현재 데이터셋의 중앙값을 선택
2) 중앙값 > 타깃 데이터, 중앙값 기준으로 왼쪽 데이터셋을 선택
3) 중앙값 < 타깃 데이터, 중앙값 기준으로 오른쪽 데이터셋을 선택
4) 1) ~3) 과정을 반복, 중앙값 == 타깃데이터면 종료
✔ 백준 1920번 - 원하는 정수찾기
✔ 문제 이해
- X라는 정수가 존재하는지 알아내자
- 첫 줄 : 데이터 개수, 두번째 줄: 찾아야 할 숫자 개수
- N과 M의 최대 범위 100,000
* 단순 반복문으로 처리 불가
- 이진탐색을 사용하면 O(nlogn)으로 해결