영상, 글 요약
이진검색(binary search) 파이썬 반복문으로 구현
kimbro6
2023. 1. 19. 00:01
#1 서론
이진검색(binary search)는 시간복잡도가 O(log n)으로 빠르다.
다만 구현이 조금 까다롭다.
이번 글에선 구현을 완전 익혀보려 한다.
#2 본론
찾고자하는 값을 target변수에 저장해 주었고, target이 들어있는 배열 A를 저장 해 주었다.
이진검색을 사용하려면 배열이 오름차순으로 정렬되어있어야 한다.
구현:
A = [1, 2, 3, 4, 5, 6]
target = 5
start = 0
end = len(A)-1
while start <= end:
mid = (start + end) // 2
if A[mid] == target: #타겟을 찾은 경우
print(mid) #타겟의 인덱스 반환
break
elif target < A[mid]:
end = mid -1
elif target > A[mid]:
start = mid +1