이진 탐색

이자민·2023년 4월 13일

알고리즘

목록 보기
4/4

정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법

재귀적 구현

    def binary_search(array, target, start, end):
    	if start > end:
        	return None
        mid = (start + end) // 2
        
        if array[mid] == target:
        	return mid
        elif array[mid] > target:
        	return binary_search(arr,target,start,mid-1)
        else:
        	return binary_search(arr,target,mid+1,end)      
            

반복문 구현

def bianry_search(array, target, start, end):
	while start<=end:
    	mid = (start+end)//2
        
        if array[mid] == target:
        	return mid
        elif array[mid] > target:
        	end = mid - 1
        else:
        	start = mid + 1
     return None
       

0개의 댓글