반응형
개념
- 어떤 값을 찾을 때 정렬의 특징을 이용해 빨리 찾음
- 정렬되어 있을 경우, 어떤 값을 찾을 때 : O(N) -> O(lgN)
- 처음부터 생각하기 어려움, 쉬운 방법부터 생각하자
용례 및 특징
- 정렬된 숫자 중 특정 숫자를 찾아야 할 때
- 모두 탐색: O(N)
- 이진 탐색: O(lgN)
# 생각하기 어려우니 미리 외워두자
def search(st, en, target):
# 종료 조건
if st == en:
// ~~
return
mid = (st + en) // 2
if nums[mid] < target:
search(mid + 1, en, target)
else:
(st, mid, target)
- Idea
- 재귀함수 또는 while
- 종료 조건 - 예외 케이스 준비
- 시간복잡도
- O(lgN)
- 자료구조
- 사용 안 함
반응형
'CS > 기타 공부 기록들' 카테고리의 다른 글
[알고리즘] 투 포인터 (1) | 2023.01.14 |
---|---|
[리눅스]5. 커널 모듈(Kernel Module) (0) | 2021.10.14 |
[알고리즘] 3. 효율적인 알고리즘 개발의 중요성 (0) | 2021.10.14 |
[알고리즘]2. 알고리즘의 정의 (0) | 2021.10.14 |
[알고리즘]1.Introduction to Algorithms 개요 (0) | 2021.10.14 |