선형(순차) 탐색
처음부터 끝까지 순차적으로 탐색하는 알고리즘
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_search(data, search):
print (data)
if len(data) == 1 and search == data[0]:
return True
if len(data) == 1 and search != data[0]:
return False
if len(data) == 0:
return False
medium = len(data) // 2
if search == data[medium]:
return True
else:
if search > data[medium]:
return binary_search(data[medium+1:], search)
else:
return binary_search(data[:medium], search)