View

[알고리즘] 이진탐색

DevNinja 2020. 10. 12. 09:41
728x90
반응형

정의

오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘

코드 구현

def binary_search(array, target, start, end):
    if start > end:
        return None
    mid = (start + end) // 2
    if array[mid] == target:
        return mid
    if array[mid] > target:
        end = mid - 1
    else:
        start = mid + 1
    return binary_search(array, target, start, end)


target = 3
array = [5, 4, 2, 1, 3]
result = binary_search(array, target, 0, len(array))
if result == None:
    print('not found index')
else:
    print('found index : {}'.format(result + 1))

 

728x90
반응형
Share Link
reply
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31