이진탐색
배열이 정렬되어있을 경우, 절반씩 줄여나가면서 탐색하는 기법
def binary_search(nums,target):
def bs(start,end):
if start>end:
return -1
mid = (start+end)//2
if nums[mid]<target:
return bs(mid+1,end)
elif nums[mid]>target:
return bs(start,mid-1)
else:
return mid
return bs(0,len(nums)-1)
'항해99 chap02' 카테고리의 다른 글
Dynamic Programming (0) | 2022.02.13 |
---|---|
최단경로 (0) | 2022.02.13 |
병합 정렬 (0) | 2022.02.06 |
퀵 정렬 (0) | 2022.02.06 |
버블,선택,삽입 정렬 (0) | 2022.01.30 |