Лучший алгоритм поиска // Vital Math

preview_player
Показать описание

Бинарный поиск – простой, но мощный алгоритм поиска в упорядоченном массиве. Но несмотря на свою простоту, всего 10% программистов смогут написать его без ошибок. Как же работает алгоритм? В чем его сложность? Где он применяется? И чем очень полезен в повседневной жизни? #vitalmath

00:00 Вступление
01:37 Центральный университет
04:08 Бинарный поиск
08:51 Мощь и красота
12:41 Ошибки в деталях
15:57 Приложения
17:03 Три вывода

Полезные книги:
Д. Кнут. Сортировка и поиск
Рекомендации по теме
Комментарии
Автор

А теперь давайте разберёмся с такой "мелочью" как сортировка 😏

alexandertelegin
Автор

лучший вид поиска это удалить половину, а потом всё остальное

Kriorem
Автор

Бинарный поиск был крайне популярен в стародавние воемена, когда гирлянды делали из большого количества последовательно включённых лампочек. Рано или поздно происходила потеря контакта или сгорала лампочка. Вот и делили пополам, потом прозванивали произвольно выбранную часть. Каждая итерация позволяла очень быстро найти неисправность. Дошёл до этого своими мозгами еще в детстве.

katakanashalapaev
Автор

Я как программист скажу, что не все так однозначно. ) Двоичный поиск обычно работает с массивами. Т.е. все значения расположены в памяти подряд. Добавление нового элемента в такой массив это дорогая и долгая операция. Если нужно не только искать, но и часто изменять данные, то программисты используют красно-черное дерево или b+ дерево. Причем, алгоритм красно-черного дерева напишут без подсказки меньше 1% программистов. Потому что мало кто задумывался, как оно вообще работает. Это прямо магия какая то.

Alemorf
Автор

Было бы неплохо так ясно и понятно (этого не отнять) послушать по "магию" помехоустойчивого кодирования - коды Рида-Соломона. Отличный стык математики и IT и тоже классика еще из 60х. Но это чуть посложнее чем "детишки, просто делите все пополам"

boulderrush
Автор

Ура, видео, в котором я хоть что-то понимаю

CHRNBRY
Автор

Ну да, легко искать, когда всё уже отсортировано, а вот когда всё вразброс, вот тут уже начинаются серьезные проблемы. Универсального алгоритма сортировки до сих пор не изобрели.

PsevdoAI
Автор

Отличный ролик! Может, стоит задуматься о серии роликов про интересные алгоритмы?

RosSpirtProm
Автор

Метод половинного деления, неосознанно применялся еще в школе, особенно когда пошли толстые учебники.
И на слова учителя " открываем учебник на 68 странице", что-то не припомню, что бы листали подряд страницы. Тупо делили пополам, пополам и т.д.

black_sea
Автор

Программисты нажали F, чтобы отдать честь

krotov_play
Автор

Любимая рубрика! Всегда эти видео оставляю на утро выходного дня, когда можно расслабленно посмотреть под чаек )

ramisvakazov
Автор

С малолетства засиживался в библиотеках и поражался, как библиотекари ищут книгу. У одних сортировка по авторам, у других по названию, по жанру и тд. Потом узнал, что на каждую книгу десятка два карточек по критерию книги. Отсюда вывод - если есть возможность массив сортируй по мере наполнения, чтобы не было мучительно больно.

yuralamov
Автор

На превью число 37. После просмотра видео от веритасиума, данный факт меня прям заинтриговал 😅

RedstoneAndCB
Автор

Спасибо, бро. может втолкуешь еще как работает алгоритм блюма?

Hero-bxfy
Автор

Поиск, это, конечно, хорошо, но как на счёт сортировки самих массивов перед этим?)

CHRNBRY
Автор

Бинарный поиск в инженерии: при поломке, делим цепь на 2, проверяем работоспособность, продолжаем пока не найдем неисправный узел

userasus
Автор

.бинарный поиск, анекдот:
Начальник принес стопку анкет помощнику, чтоб он выбрал 10 кандидатов. Ушёл. Пришёл через час, помощник ещё возится с анкетами. Говорит, давай, я сам. Большую часть анкет убрал в сторону, не глядя, из оставшихся 15 выбрал 10 анкет. Помощник спросил, а как же стопка анкет, просмотреть, выбрать лучших. Начальник ответил, зачем нам неудачники...
😂😢

femalesworld
Автор

Прекрасное видео. Спасибо большое, удачи Вам и успехов.

zoxednv
Автор

Обычно в программировании используют именно хэш-таблицы за счёт поиска за O(1) и добавления элемента за амортизированное O(1). Если только не нужно выполнить нестрогий поиск слева/справа или не используются иммутабельные структуры данных.

tkjyxrb
Автор

оказывается метод Коши программисты называют бинарным поиском! ))

SergeyDegtyarchuk