Algorithm Guidecomplexity: O(log₃ n)
삼진 탐색 (Ternary Search)
구간을 3등분하여 두 개의 중간 지점(mid1, mid2)으로 세 구간을 한 번에 판별합니다. 이진 탐색보다 재귀 깊이는 얕지만 반복당 비교 횟수가 많아, 실제로는 유니모달 함수의 극값 탐색에 주로 사용됩니다.
01 알고리즘 작동 원리 탐색
Interactive Step-by-StepHOVER OR SCROLL
Ternary Search
5
12
23
34
45
56
67
78
89
98
삼진 탐색 시작. 구간을 3등분해 두 개의 mid(mid1, mid2)로 세 구간을 한 번에 판별합니다. O(log₃ n).
Logic Node1 / 6
Live Python
02 쉽게 이해하기
For Everyone🔑비유
구간을 세 토막으로 나눠 한 번에 두 지점을 보는 것.
💡쉽게 말하면
구간을 3등분해 두 지점으로 범위를 좁힙니다.
정렬 탐색보다는 주로 볼록(유니모달) 함수의 극값 찾기에 써요.
📍어디에 쓰나
- –유니모달 함수의 최적값 찾기
03 파이썬 구현 코드
삼진 탐색 (Ternary Search)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.
core_implementation.py
04 자주 묻는 질문
FAQ삼진 탐색 (Ternary Search)란 무엇인가요?+
구간을 3등분하여 두 개의 중간 지점(mid1, mid2)으로 세 구간을 한 번에 판별합니다. 이진 탐색보다 재귀 깊이는 얕지만 반복당 비교 횟수가 많아, 실제로는 유니모달 함수의 극값 탐색에 주로 사용됩니다.
삼진 탐색 (Ternary Search)의 시간복잡도는 어떻게 되나요?+
삼진 탐색 (Ternary Search)의 시간복잡도는 O(log₃ n) 입니다. 시각화의 단계별 진행을 따라가며 왜 이런 복잡도가 나오는지 직접 확인할 수 있습니다.
삼진 탐색 (Ternary Search)은(는) 어디에 사용하나요?+
유니모달 함수의 최적값 찾기.
삼진 탐색 (Ternary Search)를 쉽게 비유하면?+
구간을 세 토막으로 나눠 한 번에 두 지점을 보는 것.
→ 탐색 전체 보기Related
