Реализация бинарного поиска
В этом видео вы узнали, как реализовать линейный поиск и бинарный поиск, и познакомились с различиями между ними.
В этом упражнении вам нужно реализовать функцию binary_search(). Попробуйте справиться с этой задачей!
Это упражнение является частью курса
Структуры данных и алгоритмы на Python
Инструкции к упражнению
- Проверьте, равно ли искомое значение значению в середине списка.
- Проверьте, меньше ли искомое значение значения в середине списка.
- Присвойте переменной
lastзначениеmiddleминус один.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
def binary_search(ordered_list, search_value):
first = 0
last = len(ordered_list) - 1
while first <= last:
middle = (first + last)//2
# Check whether the search value equals the value in the middle
if ____ == ____:
return True
# Check whether the search value is smaller than the value in the middle
elif ____ < ____:
# Set last to the value of middle minus one
____
else:
first = middle + 1
return False
print(binary_search([1,5,8,9,15,20,70,72], 5))