[Python-Algorithm]Python으로 이진탐색(Binary Search) 알고리즘 구현
이진탐색이란 ?
이진탐색은 오름차순으로 정렬된 정수의 리스트를 같은 크기의 두 부분 리스트로 나누고 필요한 부분에서만 탐색하도록 제한하여 원하는 원소를 찾는 알고리즘이다.
Python 이진탐색 알고리즘 구현
def binary_search(ls,n):
low = 0
high = len(ls)-1
mid = (low+high)//2
while True:
chk = n in ls
if chk == False:
return '숫자 %d 이(가) 없습니다.'%n
break
if n > ls[mid]:
low = mid + 1
mid = (low+high)//2
elif n < ls[mid]:
high = mid - 1
mid = (low+high)//2
else :
return '숫자 %d 이(가) 있습니다.\n' %n
break
data = [1,7,11,12,14,23,44,47,51,64,67,77,140,672,871]
print(binary_search(data,7))
# 숫자 7이 있습니다.
print(binary_search(data,8))
# 숫자 8이 없습니다.
댓글남기기