Learning
토픽 74 / 82

보간 탐색 (Interpolation Search)

보간 탐색 (Interpolation Search)

정렬된 배열에서 찾고자 하는 값의 위치를 데이터 분포에 따라 추정하여 탐색하는 알고리즘으로, 균일 분포 데이터에서 이진 탐색보다 빠름

목적: 균일 분포 데이터의 빠른 탐색, 이진 탐색 개선

특징: 데이터 분포 고려, 위치 추정, 정렬 필수

위치 추정 공식: pos = low + ((key - arr[low]) / (arr[high] - arr[low])) × (high - low)

동작 과정

시간 복잡도

  • 균일 분포: O(log log n) 평균
  • 비균일 분포: O(n) 최악 (편향된 데이터)

공간 복잡도: O(1)

장점: 균일 분포에서 이진 탐색보다 빠름, 직관적

단점: 비균일 분포에서 성능 저하, 정렬 필수, 오버플로우 주의

적용사례: 전화번호부, 사전, 데이터베이스 인덱스(균일 분포)

비교: 보간(O(log log n)/균일) vs 이진(O(log n)/범용) vs 지수(O(log i)/앞쪽)

연관: 이진 탐색, 탐색 알고리즘, 정렬된 배열