Oh My Algorithm
Algorithm Guidecomplexity: O(log log n) avg

보간 탐색 (Interpolation Search)

값의 분포가 균등하다고 가정하고 Target의 '위치'를 비례 계산으로 추정합니다. 균등 분포에서는 이진 탐색보다 빠르지만, 편향된 분포에서는 최악 O(n)까지 퇴화할 수 있습니다.

01 알고리즘 작동 원리 탐색

Interactive Step-by-Step
TAP OR HOVER
Interpolation Search
목표45
구간[0, 9]
pos
상태대기
5
12
23
34
45
56
67
78
89
98

보간 탐색 시작. 값이 균등하게 분포한다고 가정하고, 목표 위치를 비례식으로 추정해 O(log log n)까지 줄입니다.

Logic Node1 / 6

02 파이썬 구현 코드

보간 탐색 (Interpolation Search)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.

core_implementation.py
def interpolation_search(arr, target):
    low = 0
    high = len(arr) - 1
    while low <= high and arr[low] <= target <= arr[high]:
        if arr[high] == arr[low]:
            break
        pos = low + ((target - arr[low]) *
                     (high - low)) // (arr[high] - arr[low])
        if arr[pos] == target:
            return pos
        elif arr[pos] < target:
            low = pos + 1
        else:
            high = pos - 1
    return -1
Guide Progress0%