Хэш-таблицы за 10 минут

2024 ж. 13 Мам.
117 480 Рет қаралды

В этом видео мы узнаем, что такое хэш-таблицы, как они связаны с хэш-функциями и что такое хорошая хэш-функция.
Также узнаем, что такое коллизии, и научимся их разрешать с помощью методы открытой адресации и метода цепочек. Сравним данные методы, обсудим их плюсы и минусы.
Хэш-таблицы очень полезны, т.к. они позволяют очень быстро искать информацию по ключу.
----
❤️ Если хотите поддержать развитие канала:
/ tuzov
boosty.to/nikolay.tuzov
👾 Мой канал в Telegram: t.me/ntuzov
🗣 Чат в Telegram: t.me/+zsSZ63wEJDs3NGVi
👀 Golang Digest: t.me/golang_digest - мои регулярные подборки интересных материалов по Go.
----
Тайм-коды:
00:00 Вступление
00:17 Где используются хэш-таблицы
00:42 Как искать данные по ключу
01:17 Как ускорить поиск
01:40 Получение индекса из ключа
02:54 Хэш-функция
03:43 Заполняем хэш-таблицу
04:08 Коллизии
04:30 Метод открытой адресации
05:57 Минусы метода открытой адресации (переполнение, удаление, рехэширование)
07:01 Виды пробирования (обхода хэш-таблиц)
07:20 Метод цепочек
09:30 Плюсы и минусы методов разрешения коллизий
11:14 Критерии хорошей хэш-функции
12:31 Заключение
#алгоритмы #itubeteam

Пікірлер
  • 👾Мой канал в Telegram: t.me/ntuzov Пишу там новости, анонсы своих активностей и просто интересные мысли Также с его помощью я получаю от вас оперативный фидбэк по роликам - что нравится, что не нравится, какой ролик делать следующим и т.п. ❤ Если у вас есть желание поддержать развитие канала: Секретный телеграм-канал: - В рублях: t.me/+1UPXV_DGnG1mODJi - В евро: t.me/+hedI8LevYTc5MDM6 boosty.to/nikolay.tuzov www.patreon.com/tuzov

    @nikolay_tuzov@nikolay_tuzov Жыл бұрын
    • Нету такого слова "пробирование" - нудно говорить "прощупывание" если говорим о плоскости и "ощупывание" если об объекте.

      @101picofarad@101picofarad9 ай бұрын
  • Черт побери! Наконец-то я понял, что такое хеш-таблицы (много источников перебрал, но нигде так и не мог понять), а здесь с инерактивными схемами и параллельным доходчивым объяснением всё стало ясно. Спасибо, автор, выручил!

    @dmizinchenk@dmizinchenkАй бұрын
  • Самое доходчивое объяснение, что я находил в интернете! Большое спасибо, Николай!

    @kalimm89@kalimm89 Жыл бұрын
    • У selfedu и AlekOs тоже доходчивое объянения и они еще глубже копают

      @fores_069@fores_0696 ай бұрын
  • Спасибо, Николай, за полезный материал. С рисунками - вообще бомба. Хотя, кажется, делать такое видео может быть трудозатратнее, но его восприятие, на мой взгляд, удобнее.

    @Apres2707@Apres27072 жыл бұрын
    • Благодраю) Буду и дальше какие-то определенные темы в таком же стиле объяснять. Со временем, думаю, подход выработается, будет не настолько много времени уходить.

      @nikolay_tuzov@nikolay_tuzov2 жыл бұрын
    • ​@@nikolay_tuzovа в какой программе так можно рисовать?

      @tuttifrutti6603@tuttifrutti66039 ай бұрын
  • граммотное, наглядное изложение. За этим кроется старание автора. Спасибо Николай!

    @nicolaecasiadi9498@nicolaecasiadi94982 жыл бұрын
  • Первое видео по хэш-таблицам, которое я досмотрел до конца и понял суть. Спасибо большое!

    @tdtoha@tdtoha7 ай бұрын
  • Объяснять сложное просто это рил искусство. Шикарное видео, спасибо огромное за труды

    @Hide_in_bruh@Hide_in_bruh8 ай бұрын
  • Спасибо! То что я искал! Для первого знакомства с сутью и устройством хэш-таблиц - идеально!

    @user-tp7uw5cl7n@user-tp7uw5cl7n2 жыл бұрын
  • Это очень простое и доходчивое обьяснение. Спасибо большое, лайк👍 и подписка.

    @RichardBachman4797@RichardBachman47974 ай бұрын
  • Качество контента и подача хорошая, не справедливо иметь такое кол во подписчиков

    @user-ko7cc5ke1m@user-ko7cc5ke1m Жыл бұрын
  • Очень полезное видео. Главное все, четко, ясно и по существу с минимумом воды. Благодарю.

    @user-tr8xi3ik3c@user-tr8xi3ik3c11 ай бұрын
  • Большой респект за рисование. Гораздо легче понимать о чем речь так .

    @Abdul-hy4cy@Abdul-hy4cy2 жыл бұрын
  • Спасибо за отличное видео. Я понял, что наконец то понял, что так долго и мучительно читал и изучал.

    @Sigleco@Sigleco9 ай бұрын
  • Все доходчиво и понятно! Мне, как новичку оказалось очень полезным.

    @user-gx8ll1yr2f@user-gx8ll1yr2f8 ай бұрын
  • Николай, спасибо! Ждем еще другие ролики)

    @damir8847@damir88472 жыл бұрын
  • Николай, огромная Вам благодарность!

    @user-ho1rx3zg4s@user-ho1rx3zg4s2 жыл бұрын
  • Шикарное видео. Быстро, чётко, красочно. Спасибо!

    @domope5@domope5 Жыл бұрын
  • Однозначно продолжать! Круто все изложил, спасибо за твой труд!

    @akmalatkhamov8760@akmalatkhamov87602 жыл бұрын
  • Молодец! Очень понятно и наглядно сделано для новичков!

    @ASuzeren@ASuzeren Жыл бұрын
  • Очень круто подан материал. Впитывается на одном дыхании!!! Супер!

    @user-im9vz7xr4w@user-im9vz7xr4w Жыл бұрын
  • Потрясающее видео, самое хоршее объяснение!

    @gtrbvf5646@gtrbvf56462 жыл бұрын
  • Отличное объяснение, ничего лишнего. Спасибо, Николай

    @qwerty89993@qwerty899938 ай бұрын
  • Великолепное объяснение. Понятное, и в то же время достаточно глубокое, спасибо за труды.

    @ivankarash2646@ivankarash26462 жыл бұрын
  • Спасибо! Мне данный формат понравился! Все просто и доходчиво, для ознакомления и общей информации - самое оно!

    @user-qq4ds8hm8g@user-qq4ds8hm8g3 ай бұрын
  • Снимите, пожалуйста, по другим алгоритмам видео, у вас замечательно получается!

    @ramanraman2738@ramanraman27382 жыл бұрын
    • Да, я планирую, как минимум, ещё несколько подобных роликов сделать.

      @nikolay_tuzov@nikolay_tuzov2 жыл бұрын
  • Великолепное объяснение! Обожаю ваши милые рисуночки: так наглядно и понятно 🤩🤩🤩

    @elvirakharunova1589@elvirakharunova15892 ай бұрын
  • Отличное видео с понятными примерами! Спасибо за проделанную работу!

    @forest_1771@forest_1771 Жыл бұрын
  • Николай, спасибо за видео - очень доходчиво и понятно. С рисунками такими - прям то что надо)

    @dmitryvidonov9518@dmitryvidonov9518 Жыл бұрын
  • Лайк....ведь ты этого достоин!!!

    @smittychannel3252@smittychannel32522 жыл бұрын
  • Помню как в 2007 году когда я учился на первом курсе в БГУИР, нам Саня Кукреш(олимпиадник по программированию) в курилке на листочке в клетку карандашом за 5 минут объяснил что такое хэш таблица:)

    @dmitryh9267@dmitryh92679 ай бұрын
  • Спасибо большое, всё понятно. Очень полезный материал

    @user-jb8xk4iz2w@user-jb8xk4iz2w Жыл бұрын
  • Спасибо ОГРОМНОЕ за видео!!! Очень полезно и компактно

    @pilina_@pilina_2 жыл бұрын
  • Большое спасибо! все кратко, просто и по делу!

    @user-jd4zq8pj4f@user-jd4zq8pj4f9 ай бұрын
  • Огромный респект, суть объяснили доходчиво, на простых примерах и не вдаваясь в дебри

    @Phocusnick@Phocusnick5 ай бұрын
  • Очень доступно, спасибо!

    @a_allenchik3465@a_allenchik34652 жыл бұрын
  • все понятно, хорошее видео ! спасибо большое !

    @linarusmanow7838@linarusmanow78382 жыл бұрын
  • спасибо, разобралась с вашей помощью!отличное видео

    @odaa3969@odaa39692 жыл бұрын
  • Отличное объяснение! Благодарю!

    @lapa-alisa@lapa-alisa Жыл бұрын
  • Очень познавательно спасибо большое Николай

    @muradgadjiev3556@muradgadjiev355611 ай бұрын
  • Спасибо. Отличная подача ценного материала

    @denys5951@denys5951 Жыл бұрын
  • Реально круто объясняешь, спасибо большое)

    @alexzhelyapov3556@alexzhelyapov3556 Жыл бұрын
  • Спасибо, ты очень здорово объясняешь!

    @theeasywaytr4293@theeasywaytr42932 жыл бұрын
  • Спасибо, Это лучшее , что я встретил по этой теме!

    @zoompartyru@zoompartyru2 жыл бұрын
  • Спасибо за видео!

    @user-bk5fz8wd9g@user-bk5fz8wd9g2 жыл бұрын
  • Спасибо, очень доступно!

    @yuriipylypiv2117@yuriipylypiv2117 Жыл бұрын
  • Самое лучшее объяснение хэш-таблиц, которое я встречал

    @NitrocinEagle@NitrocinEagle Жыл бұрын
  • Очень хорошее объяснение, благодарю

    @comicsmania6782@comicsmania67822 жыл бұрын
  • Благодарю за пояснения!

    @valeryzhenilo4528@valeryzhenilo45289 ай бұрын
  • Спасибо, очень нравятся Ваши видео. Творческих успехов

    @invisibleinvisible83@invisibleinvisible83 Жыл бұрын
  • Браза. Огромное спасибо за видео. Доходчиво и понятно объяснил.

    @user-mi5ov9hs3x@user-mi5ov9hs3x11 ай бұрын
  • Спасибо. Начал изучать go. Ваши ролики очень помогают.

    @Azirbayev@Azirbayev11 ай бұрын
  • Спасибо, интересно!

    @konstantinzakharov8970@konstantinzakharov89707 ай бұрын
  • Горшочек вари! (не удержался из-за последних картинок) Это видео ответило на столько вопросов, сколько я даже не планировал к изучению) Спасибо Вам огромное!

    @Anton16180@Anton16180 Жыл бұрын
  • круто) спасибо)эффективнее часа просмотра видео с математическими примерами)

    @purplecorvette@purplecorvette11 ай бұрын
  • Николай, круто! Подписался, буду смотреть дальше

    @user-ue1cq4re9z@user-ue1cq4re9z2 жыл бұрын
  • Отличный формат!!! 👍👍👍 Подпишусь.

    @Mercowod@Mercowod8 ай бұрын
  • спасибо, здорово объяснил

    @TheAgressor13@TheAgressor139 ай бұрын
  • Очень круто. Просто и понятно. Очень круто😁👍

    @user-pk6nr8yv1b@user-pk6nr8yv1b Жыл бұрын
  • Отличное видео! Спасибо за твой труд!

    @Roman-kpax@Roman-kpax2 жыл бұрын
  • Отличное объяснение, спасибо)

    @IliaTyukavkin@IliaTyukavkin7 ай бұрын
  • Спасибо большое! Очень информативно!

    @user-rj6qt2em7g@user-rj6qt2em7g Жыл бұрын
  • Видео замечательное, спасибо за объяснения!

    @FullMetalGladiator@FullMetalGladiator7 ай бұрын
  • Очень понравилось. Спасибо. Раньше с этим не работал. Отличный ликбез.

    @user-gc9rm5yo1y@user-gc9rm5yo1y Жыл бұрын
  • Спасибо большое! Видео с рисованием бомба и очень понятно

    @mayakulieva3702@mayakulieva3702 Жыл бұрын
  • Спасибо за видео, понятное объяснение

    @rimanagi2110@rimanagi2110 Жыл бұрын
  • Это было прекрасно!!!

    @user-en1km2zj5v@user-en1km2zj5v2 жыл бұрын
  • Николай большое спасибо, у меня почти 6 лет опыта в разработке, и такое объяснение я вижу впервые, низкий поклон.

    @iliyabogomya5203@iliyabogomya52032 жыл бұрын
    • И вам спасибо, очень приятно слышать такой фидбэк =)

      @nikolay_tuzov@nikolay_tuzov2 жыл бұрын
  • Супер. То что нужно. Спасибо огромное!

    @_D_e_n_@_D_e_n_ Жыл бұрын
  • Большое спасибо за видео!

    @dnsvrkv203@dnsvrkv203 Жыл бұрын
  • Автор объяснил всё на пальцах! Спасибо!

    @kotbegemot9177@kotbegemot9177 Жыл бұрын
  • Ограниченность, не входит в состав характеристик хеш-функции. т.е хеш-функция отдельно, а процедура вычисления индекса по хешу - отдельно. Кроме того для быстроты правильная хеш-структура может хранить уже вычисленные хеши, по ним удобно искать, и их не надо перевычислять при изменении размера хеш-таблицы. т.е хеш-функция должна зависеть только от хешируемого значения, и никак не от размера таблицы.

    @user-mo7ge4cw3x@user-mo7ge4cw3x10 ай бұрын
    • Звучит справедливо, спасибо за замечания

      @nikolay_tuzov@nikolay_tuzov10 ай бұрын
  • Огромное спасибо, видео - огонь!

    @Sergei_Sai@Sergei_Sai Жыл бұрын
  • Спасибо за видео, хотелось бы видеть реализацию структур на golang

    @user-zo3pu9op6d@user-zo3pu9op6d10 ай бұрын
  • the best explanation 🌟 Thanks

    @tigrankarapetyan622@tigrankarapetyan62211 ай бұрын
  • Супер, спасибо. Очень хорошо объяснили

    @user-EaRL@user-EaRL Жыл бұрын
  • Шикарно объяснил, красава!

    @NickNam157@NickNam1572 ай бұрын
  • очень красиво получилось. Сохранил к себе

    @lalathealter6513@lalathealter6513 Жыл бұрын
  • Спасибо! Очень полезно!

    @user-tv5pd2pv9q@user-tv5pd2pv9q6 ай бұрын
  • Всегда бы так объясняли, усваивали бы материал раза в 3 быстрее, чем обычно происходит с заумными объяснениями, где пишут так, что надо уже эту тему знать, чтобы понять

    @Dmitriitube@Dmitriitube Жыл бұрын
  • Видео очень понравилось ! Лайк !

    @Abdul-hy4cy@Abdul-hy4cy2 жыл бұрын
  • Супер, спасибо огромное!

    @user-xf5vn3fg1i@user-xf5vn3fg1i Жыл бұрын
  • Великолепное объяснение!

    @halltape@halltape Жыл бұрын
  • Спасибо! Мне видео помогло

    @user-wr3uy3ud2y@user-wr3uy3ud2y2 жыл бұрын
  • Очень хорошая подача материала

    @ekaterina1960@ekaterina1960 Жыл бұрын
  • Огненный видос! Спасибо!

    @IlyaLeontyev@IlyaLeontyev Жыл бұрын
  • то что искал! спасибо!

    @user-vo6tn6vu1h@user-vo6tn6vu1h Жыл бұрын
  • спасибо большое. очень полезное видео

    @aidamur@aidamur Жыл бұрын
  • Спасибо большое!

    @motia4996@motia4996 Жыл бұрын
  • Формат класс!

    @user-vi3pi1ld7y@user-vi3pi1ld7y8 ай бұрын
  • Нужно больше таких видео

    @eleimt@eleimt Жыл бұрын
  • Просто лучший!

    @alexzhelyapov3556@alexzhelyapov3556 Жыл бұрын
  • Очень кратко и при этом доходчиво

    @user-bp6ml2kv8q@user-bp6ml2kv8q Жыл бұрын
  • Спасибо большое: и впрямь очень доходчиво… Единственное что, мне кажется, задача с телефонными номерами решается проще через сортировку+бинарный поиск. Но да, я понимаю, надо же на чём-то объяснять ))

    @compoundnoun@compoundnoun9 ай бұрын
  • Ты крут!)) Продолжай!

    @Host_Name@Host_Name11 ай бұрын
  • Коля спасибо!

    @sergeymarkevich6406@sergeymarkevich6406 Жыл бұрын
  • Супер, спасибо. Правда не помешали бы примеры кода, но и без этого отличное объяснение!

    @Camonoto@Camonoto8 ай бұрын
  • Спасибо. Понравилось. Лайк в поддержку!

    @andredru4278@andredru42788 ай бұрын
  • Чётко, спасибо.

    @kat_katchinskiy@kat_katchinskiy Жыл бұрын
  • Вау, это было не плохо) спасибо большое) я много чего смог понять))

    @Makaler@Makaler2 жыл бұрын
  • Класс!

    @nikto1851@nikto18518 ай бұрын
KZhead