: 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법
def sequencial(data_list, search_data):
for index in range(len(data_list)):
if data_list[index] == search_data:
return index
return -1
def binary_recur(array, target, start, end):
if start > end:
return
mid = (start + end) // 2
# 찾은 경우 중간점 인덱스 반환
if array[mid] == target:
return mid
# 중간값보다 찾으려는 데이터가 작은 경우 왼쪽 확인
elif array[mid] > target:
return binary_recur(array, target, start, mid-1)
# 중간값보다 찾으려는 데이터가 큰 경우 오른쪽 확인
else:
return binary_recur(array, target, mid+1, end)
def binary(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