Алгоритм бинарного поиска. Binary search algorithm. Python
В этом видео мы познакомимся с алгоритмом бинарного(двоичного) поиска и реализуем его на языке Python.
Ссылка на проект - github.com/kurtalex/Searching...
#python #algorithms #алгоритмы
GitHub - github.com/kurtalex
Пікірлер: 26
Все отлично, спокойно, подробно, по делу. Спасибо) Код можно чуть сократить, но это мелочи и дело каждого)
Пасиба бро, помог разобраться !!)
спасибо, помогло
от души, помог)
спасибо, а то в грокаем алгоритмы одни ошибки... 🤣
@user-wk9dl9lu2t
2 жыл бұрын
Это точно))) Делал по книге сначала, и думаю, как там делят на 2 и все у них получается😃
@user-wk9dl9lu2t
2 жыл бұрын
Много там еще ошибок?😃 Только начал изучать книжку эту.
@user-hh2me5qb8p
Жыл бұрын
@@user-wk9dl9lu2t там python 2.7, может поэтому?)
@user-vc8we3qc4p
Жыл бұрын
@@user-wk9dl9lu2t там не оишбок много, а версия языка чуть стара, в книге используется 2.7 питон. В то время как сейчас используется 3.7 +
@user-wk9dl9lu2t
Жыл бұрын
@@user-vc8we3qc4p спасибо)
Уже после того, как выложил видео, заметил, что в коде есть небольшая ошибка: if guess == search_item: search_res = True -return search_res- После того как искомый элемент найден, можно не писать return search_res, потому что цикл while и так будет прерван, из-за того, что search_res == True На Github - github.com/kurtalex/SearchingAlgorithms Загрузил исправленный вариант!
а как сделать тоже самое только со строками?
Через рекурсию проще написать. Список размером 1 квадриллион спокойно хавает)
а можно было написать не if result: а - if result == value: print("Элемент найден!")? . Если так нельзя , можете обьясниить почему)?
@fillplays8245
Жыл бұрын
так result это же переменная типа bool, а value тип int
@Azimbek-iq1kl
8 ай бұрын
Зачем страдать если можно тупо написать два слова вместо пятерых
тем временем elem in lst
high = len(array)-1 . почему -1?
@theprogrammersway4228
4 жыл бұрын
Потому что переменная high это индекс последнего элемента массива, а функция len() возвращает длину строки и если не испосльзовать -1, то значение выййдет за границы массива, строки и т.п. Например у нас есть массив [1, 2, 3, 4, 5] функция len() вернёт количество элементов 5, но такого индекса (пять) не существует потому что индекс в языке Python начинается с 0 (нуля) и последний элемент имеет индекс 4. Именно поэтому чтобы получить доступ к последнему элементу массива high = len(array) - 1.
@rbalabekyan1286
4 жыл бұрын
@@theprogrammersway4228 Thanks
А почему там "меньше или равно", а не просто "меньше" ?
@namalnikmisartenko8785
8 ай бұрын
Потому что список может состоять из 1 элемента =) попробуй передай search_item = 1 lst=[1] и поменяй условие while low сразу увидишь проблему)
В коде в месте где цикл While, оператор видео говорит ИЛИ, то есть(or), хотя как мы видим на экране там and, в инете точно также пишет and. Правильно ли это? I really like this presentation. Thanks a million!
@qzqnurdautm3385
Жыл бұрын
да автор правильно написал