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