Хеш-таблица - Самая Популярная Структура Данных

Поділитися
Вставка
  • Опубліковано 20 лип 2023
  • Пройдите бесплатный курс от Яндекс Практикума - "Какую профессию в программировании выбрать": ya.cc/t/UrGOef-q4LmqEn
    Токен: LdtCKa7Ux
    Разбираем как работает HashSet - структура данных, которая позволяет проверять в ней наличие любого элемента за О(1) времени.
    Затем модифицируем ее так, чтобы получить хеш-таблицу, то есть структуру данных, хранящую пары ключ-значение.
    Обе эти структуры данных очень популярны и используются в любом проекте. А еще на их знание очень часто задают вопросы на собеседовании, и три самых популярных из них мы также разберем в этом видео.

КОМЕНТАРІ • 394

  • @sashalukin
    @sashalukin  23 дні тому

    Создал Telegram канал, в котором рассказываю о жизни в Лондоне, работе в Google и подготовке к собеседованиям. Подписывайтесь: t.me/saschalukin

  • @sberdiug
    @sberdiug 10 місяців тому +410

    Мне бы целый курс в таком стиле по всем структурам данных! 👍

    • @mtr-code
      @mtr-code 10 місяців тому +25

      кстати, да, даже платный бы купил

    • @Unkmasold
      @Unkmasold 10 місяців тому +2

      У Седжвика на курсере очень понятный курс

    • @sberdiug
      @sberdiug 10 місяців тому +1

      @@mtr-code аналогично. за такой курс готов заплатить!

    • @bykaxagod597
      @bykaxagod597 9 місяців тому

      Karpov courses. Не реклама, сам планирую туда пойти.

    • @user-gt4zh2wb3d
      @user-gt4zh2wb3d 9 місяців тому

      Да нахууй надо! Нет, то, что автор старался - это видно. Только его "объяснение" выглядит как рандомный плевок в лицо адекватности. Почему бакетов именно 5, кто должен реализовывать вычисление хэша, для чего эта вся петрушка ВООБЩЕ затеяна... Короче объяснение - лажа. Хуже - только зачитывание на вебку гугленых статей с кислой рожей. Но автор старался. Но цельного, логичного, понятного, непротиворечивого, фундаментального - не получилось...

  • @evgeniibubolev9881
    @evgeniibubolev9881 10 місяців тому +67

    Александр, я не знаю какой ты программист, но объясняешь очень хорошо. У тебя талант.

  • @georgiy_kulagin
    @georgiy_kulagin 10 місяців тому +110

    Отличное объяснение, было бы здорово услышать про графы и их подтипы, деревья итд)

  • @user-ee5zv1ki5c
    @user-ee5zv1ki5c 9 місяців тому +30

    Не оставляю почти никогда на ютубе комментарии, но это просто фантастическое объяснение, спасибо за проделанную работу!)

  • @takahashisan2244
    @takahashisan2244 10 місяців тому +9

    Понятно и просто. Я в восторге! Буду ждать ещё подобных видео ❤

  • @2difficult2do
    @2difficult2do 10 місяців тому +13

    Супер! Это лучшее, наглядное и понятное объяснение, даже моя бабушка поняла.🤗
    Спасибо, Александр, за ваши подробные объяснения!!!

  • @SorokinAU
    @SorokinAU 9 місяців тому +2

    Ваш канал - это находка!

  • @kirillzhukov1675
    @kirillzhukov1675 9 місяців тому +2

    Больше бы таких видео, где очень доступно и понятно

  • @davidalexandr5716
    @davidalexandr5716 10 місяців тому +3

    Прикольный формат, быстро и без лишней информации!

  • @user-hk1pj2nf3f
    @user-hk1pj2nf3f 10 місяців тому +3

    офигенный задний фон, красивое оформление + понятно и удобно, спасибо за видос!

  • @vidnysom
    @vidnysom 10 місяців тому +20

    Я вот вообще ни разу не программист, но разобрался что к чему в выходной и под пивко. Александр, у вас талант!

    • @slmpnv
      @slmpnv Місяць тому +3

      vidnyskuf)

  • @user-dq6xx9kb8p
    @user-dq6xx9kb8p 9 місяців тому +1

    коротенько и доходчиво. Спасибо за проделанную работу!

  • @elseff
    @elseff 10 місяців тому +3

    Очень понятно! Закрепил теперь точно эту структуру данных! Спасибо

  • @cybermetalyogurt
    @cybermetalyogurt 8 місяців тому

    Всё понятно и доступно, большое спасибо!

  • @winternight4754
    @winternight4754 9 місяців тому +1

    Спасибо за ролик, давно смотрю ваши выпуски. Очень интересно и понятно.

  • @bertzik
    @bertzik 10 місяців тому +1

    Объяснение - мое почтение! Все понятно с первого раза)

  • @user-ny2tl4qy3m
    @user-ny2tl4qy3m 9 місяців тому +1

    Саша, большое спасибо!
    хороший материал

  • @user-lk8n0fgjk
    @user-lk8n0fgjk 10 місяців тому +6

    Александр, отличное видео, впрочем как все Ваши ролики! Спасибо!

  • @nikitafedorov5884
    @nikitafedorov5884 10 місяців тому +5

    Большое спасибо. Отличное объяснение. Продолжай!

  • @aleksey8530
    @aleksey8530 9 місяців тому +1

    Спасибо за твой канал ты лучше всех обьясняешь, честно говоря алгоритмов я сторонился но с твоими обьяснениями задач стало интересно и появилась вера что все возможно изучить, хочется как можно больше видео!

  • @saigon9505
    @saigon9505 9 місяців тому +2

    Очень интересно и понятно рассказано! Отличная подача материала

  • @GromStal
    @GromStal Місяць тому +1

    Это одна из самых важных тем. И объяснение просто фантастическое. Браво. Лайк

  • @sergeinerobeev3501
    @sergeinerobeev3501 9 місяців тому +1

    Спасибо! 👍Повторение-мать учения!

  • @svetlanamazhaykina6918
    @svetlanamazhaykina6918 Місяць тому

    Спасибо за Ваш труд! Кто ясно мыслит - тот ясно излагает!

  • @obusis
    @obusis 10 місяців тому +1

    Отличный контент! Отличная подача! Ждём продолжения.

  • @inbluegirl
    @inbluegirl 8 місяців тому

    Огромное спасибо за популяризаторский стиль!!! Теперь поняла, наконец-то, что из себя эта хеш-таблица представляет

  • @igornamakonov6472
    @igornamakonov6472 9 місяців тому +3

    Очень хорошо рассказал, спасибо. Будет интересно посмотреть про другие структуры данных. Trees, linked list, graphs.

  • @user-kk9vl4jd5y
    @user-kk9vl4jd5y 9 місяців тому +1

    Очень приятная и интересная подача материала! Спасибо! Пожалуй подпишусь.

  • @alexschiopu
    @alexschiopu 9 місяців тому +1

    Огонь!!! 🔥🔥🔥🔥🔥🔥
    До этого просто использовал это и не задавался, что там под копотом и как.
    А теперь с пониманием буду использовать)))
    Спасибо большое за простое и понятное объяснение!!!
    Саша, продалжай в том же духе, всё круто!!!

  • @kotsimon6468
    @kotsimon6468 2 місяці тому

    Великолепное объяснение! Спасибо Вам!

  • @fedorok12345
    @fedorok12345 9 місяців тому +2

    Объяснение реально очень классное, как-то до этого в целом понимал эту структуру, но здесь прям все встало на свои места

  • @dragerjeji5279
    @dragerjeji5279 9 місяців тому

    Отлично, отлично, отлично! Огромное спасибо за это видео!

  • @tal_wolfrid
    @tal_wolfrid 9 місяців тому +1

    Очень круто объясняешь и визуально показываешь 💪

  • @abuiman5251
    @abuiman5251 9 місяців тому

    Спасибо, Саша!
    Для меня это лучшее объяснение которое я встречл👍🏻👍🏻👍🏻
    Не останавливайся пжл!

  • @diomed4570
    @diomed4570 8 місяців тому

    Очень лаконично и понятно, спасибо.

  • @vld_dmn
    @vld_dmn 9 місяців тому +2

    Это великолепное объяснение

  • @user-hv2vy3kd9f
    @user-hv2vy3kd9f 4 місяці тому

    Спасибо за такое понятное и подробное объяснение! Отличная работа!

  • @TopMusicBeautifulLife
    @TopMusicBeautifulLife 10 місяців тому +2

    Спасибо большое! Продолжайте в том же духе!

  • @nsdnight
    @nsdnight 2 місяці тому

    Лучшее видео по хеш-таблицам.

  • @dmii3iy
    @dmii3iy 9 місяців тому

    Отличная подача материала!

  • @timgapps9878
    @timgapps9878 7 місяців тому +1

    Отличное видео. Мне как новичку в изучении java очень помогло разобраться в работе hashset и hashmap, а также понять как связаны методы hashCode() и equals() и для чего они нужны, спасибо огромное за твои уроки

  • @antonvoronin1654
    @antonvoronin1654 8 місяців тому +1

    Обычно не оставляю комментариев, но здесь не могу не прокомментировать: автор молодец! Очень доступно объяснил материал

  • @sberdiug
    @sberdiug 10 місяців тому +5

    Вау! Отличный урок! 👍

  • @adammason482
    @adammason482 9 місяців тому +1

    Спасибо за ролик!

  • @pridelander
    @pridelander Місяць тому

    Приятно слушать и смотреть, спасибо тебе!

  • @acthanger7420
    @acthanger7420 9 місяців тому +1

    Крутой контент делаешь, спасибо)

  • @freiTzer
    @freiTzer 8 місяців тому

    Спасибо, понятно и интересно

  • @semimaks
    @semimaks 2 місяці тому

    Редко оставляю комментарии, но ваша работа восхищает. Четко, наглядно и по существу. Спасибо!

  • @shpritsgodx
    @shpritsgodx 8 місяців тому

    Спасибо моему другу,Жаке. За ссылку на видео.Очень интересно

  • @grigorystasevich33
    @grigorystasevich33 9 місяців тому +1

    Отличное видео, спасибо

  • @user-ou2yc8gk5m
    @user-ou2yc8gk5m 17 днів тому

    Очень понятно и легко. Спасибо за детальное объяснение!

  • @J1mDGriz
    @J1mDGriz 9 місяців тому +1

    Спасибо за объяснение темы. Несколько раз вчера прочитал эту тему с примерами кода в уроке на своём обучении. Ничего не понял.
    После вашего видео всё становится понятно

  • @Sergey.Aleksandrovich.P-37rus
    @Sergey.Aleksandrovich.P-37rus 7 місяців тому

    четкое объяснение.... спасибо!стало более понятно.

  • @Valerii07
    @Valerii07 8 місяців тому

    Хорошо и просто объяснил

  • @panfilovandrey
    @panfilovandrey 10 місяців тому +38

    Да, присоединяюсь к остальным комментариям: очень понятное и грамотное объяснение. В продолжение этой темы можно было бы разобрать способы написания хеш-функций с равномерным распределением для разных типов данных. Это тоже нужная в данной задаче (когда сами делаем хеш-сет) фишка. Очень нравятся твои видео, спасибо и за материал, и за подачу. Хотелось бы побольше :)

    • @user-gt4zh2wb3d
      @user-gt4zh2wb3d 9 місяців тому

      6лять, почему бакетов ПЯТЬ?

    • @yuriytheone
      @yuriytheone 8 місяців тому

      Это легко. Только выбери хэш алгоритм, а затем выполни нормализацию. От типа нормализации будет зависеть как бклет расти структура при уведичении.

    • @yuriytheone
      @yuriytheone 8 місяців тому

      ​@@user-gt4zh2wb3dбакетов может быть сколько угодно, все зависит от реализации...

    • @panfilovandrey
      @panfilovandrey 8 місяців тому

      @@yuriytheone так вот как раз вопрос в сравнении хеш алгоритмов

    • @nkjhk9772
      @nkjhk9772 2 місяці тому

      @@user-gt4zh2wb3d просто решили что 5, это не константа, можешь хоть сразу 100 ебнуть

  • @kazarovroman
    @kazarovroman 10 місяців тому +1

    Супер формат!

  • @user-it2ix3fq8f
    @user-it2ix3fq8f 18 днів тому

    Формат крайне удобный и понятный. Спасибо! Стоит продолжать в этом духе.

  • @dregster564
    @dregster564 9 місяців тому

    еще одна находка для меня! круто, еще с примерами на нескольких языках

  • @user-xg3no4yh4q
    @user-xg3no4yh4q 29 днів тому

    Супер объяснение! Спасибо большое!

  • @louis-nicoladavout7580
    @louis-nicoladavout7580 9 місяців тому +1

    Редко пишу коммент. Но это того стоит.
    Лучшее объяснение hash сетов и таблиц. ❤

  • @andreimikhalkevich5633
    @andreimikhalkevich5633 6 місяців тому

    спасибо автору, легкая и главное понятная подача материала

  • @rost170
    @rost170 10 місяців тому +1

    Это база. Объяснение потрясающее

  • @worldfree1190
    @worldfree1190 10 місяців тому

    Вау! Смотрю уже довольно давно и каждый раз полный восторг

  • @user-hs8rz9lv1v
    @user-hs8rz9lv1v 10 місяців тому +33

    Коллизия - это совпадение хэшкода у двух разных объектов, а не факт попадания этих объектов в один бакет.
    Соответственно и логика проверки внутри бакета двухуровневая - когда попали в бакет и бежим по элементам, то сравниваем их сначала по хэшкоду и только если они совпадают то сравниваем по equals. По крайней мере для java это так

    • @andreibulatov2395
      @andreibulatov2395 9 місяців тому +1

      100% true

    • @justDimoon
      @justDimoon 9 місяців тому

      Согласен 💯

    • @ahilesova_pyata
      @ahilesova_pyata 5 місяців тому

      Вроде бы автор правильно сказал, коллизия это попадание в один бакет нескольких элементов даже с разными хэшами. А проверка ключей в списке идёт, сначала по хэш коду, потом ссылки (==) и только потом equals(). Java. Но автор конечно, слишком обобщил и упростил

    • @user-hs8rz9lv1v
      @user-hs8rz9lv1v 5 місяців тому

      @@ahilesova_pyata Нет, коллизия к бакетам прямого отношения не имеет, автор неверно использует термин 'коллизия': ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D0%BB%D0%B8%D0%B7%D0%B8%D1%8F_%D1%85%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8

    • @user-zv3bw1py5x
      @user-zv3bw1py5x 4 місяці тому

      Если хеш-код разные то объекты разные, а если хеш-код одинаковые это значит что объекты одинаковые

  • @user-eo2ti1qz6y
    @user-eo2ti1qz6y 10 місяців тому +6

    Супер! ❤ спасибо! Можно вообще сделать разборы структур данных!? Например, про деревья 😅😊

  • @madyogi2108
    @madyogi2108 8 місяців тому

    Как приятно тебя слушать, смотреть твои видео, продолжай в том же духе!
    Изменено: я настаиваю, чтобы ютуб создал официальный плейлист с 1000 самых понятных видео на ютубе, и твое будет первое!!

  • @RRRozh
    @RRRozh 10 місяців тому +5

    Где же ты был 3 дня назад, когда у меня это на собеседовании спрашивали...
    Спасибо за крутое объяснение, не понимал эту магию, а теперь понимаю)

    • @Wo_Wang
      @Wo_Wang Місяць тому

      Программирую встраиваемые системы больше 30 лет. За это время функция хеша вообще ни разу не понадобилась...
      :-)

  • @user-ll3mn2li7i
    @user-ll3mn2li7i 8 місяців тому +1

    Редко пишу комментарии, но тут не удержался) спасибо за такой детальный, а самое главное грамотный разбор, контент усваивается легко, слушать интересно, подписался, пойду смотреть предыдущие ролики)

  • @alcor9921
    @alcor9921 9 місяців тому +11

    Впервые на канале и удивился как понятно ты объяснил данную тему.
    Спасибо за тот труд ❤
    Было бы круто, если б еще к твоему плейлисту разбора задач с собеседований из бигтеха прибавился и Нетфликс, пожалуйста

  • @billgrover3130
    @billgrover3130 10 місяців тому

    Офигенная подача материала огонь🔥🔥🔥🔥

  • @suspiciousgoose7904
    @suspiciousgoose7904 Місяць тому

    Только прочитал в книге про хеши, так вот видос тебе. Да какой качественный и понятный
    Спасибо ❤

  • @silkcode3178
    @silkcode3178 10 місяців тому

    Очень понятно и доступно

  • @Baha996
    @Baha996 9 місяців тому

    Шикарный ролик! Показываю своим ученикам)

  • @Kepchyk1101
    @Kepchyk1101 9 місяців тому +1

    Классная подача

  • @bar-gv9cr
    @bar-gv9cr Місяць тому

    Полезно, просто, понятно. Спасибо)

  • @denismis5915
    @denismis5915 10 місяців тому

    Побольше бы таких видео)

  • @yuryconnect4785
    @yuryconnect4785 Місяць тому +1

    Отличное видео, сжато и простым/ доходчивым языком!
    Я порекомендовал его всем своим сокурсникам в академии, респект!!! :)

  • @abdulloev.mahmadullo
    @abdulloev.mahmadullo 8 місяців тому

    Мощно то что было нужно

  • @igorglushatov1948
    @igorglushatov1948 10 місяців тому +17

    Хорошее и простое объяснение без математических з**бов. Спасибо большое

  • @user-iv5ri9yw6e
    @user-iv5ri9yw6e 9 місяців тому

    Привет! Впервые зашел на твой канал, и это очень крутое объяснение хэш-таблиц! У меня будто прозрение после твоего видео, спасибо!

  • @cd6693
    @cd6693 3 місяці тому

    Большое спасибо за пояснение, еще и на 3 языках)

  • @cathello2900
    @cathello2900 9 місяців тому

    Очень круто! Надо прям все под такое поеснние переводить

  • @user-rb3sw3ku6t
    @user-rb3sw3ku6t 6 місяців тому

    Спасибо за ролик! Было очень ясно и доступно объяснено! И не знал что обычный объект js такие чудеса вытворяет!!!!

  • @firsto
    @firsto 8 місяців тому

    Великолепная подача информации, очень наглядно.

  • @Lammax2012
    @Lammax2012 10 місяців тому

    Офигенно! Спасибо!

  • @DDOSM
    @DDOSM Місяць тому

    Огромное спасибо!

  • @watcher750
    @watcher750 10 місяців тому

    Так круто, спасибо! Продолжай!

  • @alexandersokolov7986
    @alexandersokolov7986 9 місяців тому

    супер. больше бы таких видео!

  • @xlebylllek321
    @xlebylllek321 9 місяців тому

    Спасибо большое за это видео=)

  • @alexturner6417
    @alexturner6417 7 місяців тому

    Супер. Отличный контент 10/10

  • @mikhailshirokov8464
    @mikhailshirokov8464 9 місяців тому

    Отличное объяснение, автору лайк. Хотелось бы увидеть подобный разбор красно-чёрных деревьев, которые используются, например, в реализации TreeSet в Java.

  • @hybi666
    @hybi666 9 місяців тому +1

    Супер!

  • @ilya.dronov
    @ilya.dronov 10 місяців тому +1

    Лучший контент !

  • @millenok4979
    @millenok4979 6 місяців тому

    Ты потрясающий, спасибо

  • @nikolaiandrianov1856
    @nikolaiandrianov1856 10 місяців тому

    Прекрасно!!!

  • @Hellen-qx3lb
    @Hellen-qx3lb 2 місяці тому

    Как здорово объясняешь ! Я не программист , но все поняла

  • @user-vi1hj7zq3m
    @user-vi1hj7zq3m 7 місяців тому

    Спасибо. Сверхпонятное объяснение

  • @doctor_zlo6785
    @doctor_zlo6785 9 місяців тому

    Кросс, спасибо, что запарился и сделал видос

  • @Vitaly-xu3ly
    @Vitaly-xu3ly 7 місяців тому

    спасибо, очень доходчево