Python 기초
파이썬 이진 검색 구현 및 테스트 코드
수알치
2016. 12. 20. 13:22
# 이진검색 구현 및 예제 코드
def bsearch( s, e, first, last):
if(last - first) < 2:
return s[first] == e or s[last] == e
mid = first + (last-first)//2
if s[mid] == e:
return True
if s[mid] > e:
return bsearch(s, e, first, mid-1)
else:
return bsearch(s, e, mid+1, last)
# 검색 함수
def search(s, e):
return bsearch(s, e, 0, len(s)-1)
# Testing Code
a = [i for i in range(100)]
print( search(a, 99) ) # True
print( search(a, -1) ) # False
print( search(a, 0) ) # True
반응형