본문 바로가기

항해99 chap02

이진탐색

이진탐색

배열이 정렬되어있을 경우, 절반씩 줄여나가면서 탐색하는 기법

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