반응형
# 이진검색 구현 및 예제 코드
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
반응형
'Python 기초' 카테고리의 다른 글
파이썬 버블 소트 (거품 정렬) 구현 소스 및 테스트 예제 (0) | 2016.12.20 |
---|---|
파이썬 선택 정렬 구현 소스 및 테스트 예제 (0) | 2016.12.20 |
세 정수 중에서 가장 큰 수 구하기 (파이썬 python) (0) | 2016.12.16 |
짝수 홀수 구분하는 다양한 방법 (파이썬 Python) (0) | 2016.12.16 |
파이썬 한글 기초 강좌 링크 (0) | 2016.10.24 |