VladPeliukh
@VladPeliukh
Начинающий программист)

Код для бинарного поиска Python. Как работать с индексами в этом коде?

60b9d4dd5ed7e863179419.jpegИзучил базу языка программирование Python и решил изучить алгоритмы по книге "Грокаем Алгоритмы" (Адитья Бахаргава). В первой главе был алгоритм бинарного поиска, и я понял в чем он заключается, но не понял как он реализован в коде.
Код:
def binary_search(list, item):
low = 0
high = len(list)-1
while low <= high/2
mid = (low + high)/2
guess = list[mid]
if guess == item:
return mid
if guess > item:
high = maid - 1
else:
low = mid + 1
return Noene

my_list = [1, 3, 5, 7, 9]

print binary_search(my_list, 3) # => 1
------------------------------------------------
Проблема в том что я не понимаю где мы работаем с индексами чисел, а где нет.
Буду очень благодарен тем кто объяснит, что делает list[mid], а еще буду более блягодарен тем, кто оъяснит где мы работаем с индексами, а где нет или даже объяснит весь код!!!
Зарание Спасибо!
  • Вопрос задан
  • 916 просмотров
Решения вопроса 1
Воу-воу.
Изучил базу языка программирование Python
и
что делает list[mid],
как-то не вяжутся. Стоит проверить, точно ли выполнен пункт "изучил базу языка программирования Python", если не понятно что это получение значения из списка по его индексу.

В этом коде индексы - это переменные low, mid, high.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы