Реалізація бінарного пошуку
У цьому відео ви дізналися, як реалізувати лінійний пошук і бінарний пошук, а також побачили різницю між ними.
У цій вправі вам потрібно реалізувати функцію 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))