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

  Рет қаралды 269,315

Саша Лукин

Саша Лукин

Күн бұрын

Пікірлер: 429
@sashalukin
@sashalukin 7 ай бұрын
Создал Telegram канал, в котором рассказываю о жизни в Лондоне, работе в Google и подготовке к собеседованиям. Подписывайтесь: t.me/saschalukin
@cinop0
@cinop0 5 ай бұрын
Почему в JavaScript ты используешь var???? Есть же let
@sberdiug
@sberdiug Жыл бұрын
Мне бы целый курс в таком стиле по всем структурам данных! 👍
@mtr-code
@mtr-code Жыл бұрын
кстати, да, даже платный бы купил
@Unkmasold
@Unkmasold Жыл бұрын
У Седжвика на курсере очень понятный курс
@sberdiug
@sberdiug Жыл бұрын
@@mtr-code аналогично. за такой курс готов заплатить!
@bykaxagod597
@bykaxagod597 Жыл бұрын
Karpov courses. Не реклама, сам планирую туда пойти.
@ФоксСенна
@ФоксСенна Жыл бұрын
Да нахууй надо! Нет, то, что автор старался - это видно. Только его "объяснение" выглядит как рандомный плевок в лицо адекватности. Почему бакетов именно 5, кто должен реализовывать вычисление хэша, для чего эта вся петрушка ВООБЩЕ затеяна... Короче объяснение - лажа. Хуже - только зачитывание на вебку гугленых статей с кислой рожей. Но автор старался. Но цельного, логичного, понятного, непротиворечивого, фундаментального - не получилось...
@evgeniibubolev9881
@evgeniibubolev9881 Жыл бұрын
Александр, я не знаю какой ты программист, но объясняешь очень хорошо. У тебя талант.
@leonidkazak1918
@leonidkazak1918 3 ай бұрын
Я думаю, пиздатый он программист
@2difficult2do
@2difficult2do Жыл бұрын
Супер! Это лучшее, наглядное и понятное объяснение, даже моя бабушка поняла.🤗 Спасибо, Александр, за ваши подробные объяснения!!!
@georgiy_kulagin
@georgiy_kulagin Жыл бұрын
Отличное объяснение, было бы здорово услышать про графы и их подтипы, деревья итд)
@vidnysom
@vidnysom Жыл бұрын
Я вот вообще ни разу не программист, но разобрался что к чему в выходной и под пивко. Александр, у вас талант!
@slmpnv
@slmpnv 8 ай бұрын
vidnyskuf)
@ДенисБахтиев
@ДенисБахтиев Жыл бұрын
Не оставляю почти никогда на ютубе комментарии, но это просто фантастическое объяснение, спасибо за проделанную работу!)
@davidalexandr5716
@davidalexandr5716 Жыл бұрын
Прикольный формат, быстро и без лишней информации!
@GromStal
@GromStal 8 ай бұрын
Это одна из самых важных тем. И объяснение просто фантастическое. Браво. Лайк
@panfilovandrey
@panfilovandrey Жыл бұрын
Да, присоединяюсь к остальным комментариям: очень понятное и грамотное объяснение. В продолжение этой темы можно было бы разобрать способы написания хеш-функций с равномерным распределением для разных типов данных. Это тоже нужная в данной задаче (когда сами делаем хеш-сет) фишка. Очень нравятся твои видео, спасибо и за материал, и за подачу. Хотелось бы побольше :)
@ФоксСенна
@ФоксСенна Жыл бұрын
6лять, почему бакетов ПЯТЬ?
@yuriytheone
@yuriytheone Жыл бұрын
Это легко. Только выбери хэш алгоритм, а затем выполни нормализацию. От типа нормализации будет зависеть как бклет расти структура при уведичении.
@yuriytheone
@yuriytheone Жыл бұрын
​@@ФоксСеннабакетов может быть сколько угодно, все зависит от реализации...
@panfilovandrey
@panfilovandrey Жыл бұрын
@@yuriytheone так вот как раз вопрос в сравнении хеш алгоритмов
@nkjhk9772
@nkjhk9772 8 ай бұрын
@@ФоксСенна просто решили что 5, это не константа, можешь хоть сразу 100 ебнуть
@SorokinAU
@SorokinAU Жыл бұрын
Ваш канал - это находка!
@takahashisan2244
@takahashisan2244 Жыл бұрын
Понятно и просто. Я в восторге! Буду ждать ещё подобных видео ❤
@antonvoronin1654
@antonvoronin1654 Жыл бұрын
Обычно не оставляю комментариев, но здесь не могу не прокомментировать: автор молодец! Очень доступно объяснил материал
@АртурКоролёв-в1ч
@АртурКоролёв-в1ч Жыл бұрын
офигенный задний фон, красивое оформление + понятно и удобно, спасибо за видос!
@RRRozh
@RRRozh Жыл бұрын
Где же ты был 3 дня назад, когда у меня это на собеседовании спрашивали... Спасибо за крутое объяснение, не понимал эту магию, а теперь понимаю)
@Wo_Wang
@Wo_Wang 8 ай бұрын
Программирую встраиваемые системы больше 30 лет. За это время функция хеша вообще ни разу не понадобилась... :-)
@mukaddastaj5223
@mukaddastaj5223 3 ай бұрын
Это шикарно. Спасибо огромное, помог как никто. Я и статьи читала и у учителя одного спрашивала, никто так нормально и не объяснил
@semimaks
@semimaks 8 ай бұрын
Редко оставляю комментарии, но ваша работа восхищает. Четко, наглядно и по существу. Спасибо!
@svetlanamazhaykina6918
@svetlanamazhaykina6918 8 ай бұрын
Спасибо за Ваш труд! Кто ясно мыслит - тот ясно излагает!
@yuryconnect4785
@yuryconnect4785 8 ай бұрын
Отличное видео, сжато и простым/ доходчивым языком! Я порекомендовал его всем своим сокурсникам в академии, респект!!! :)
@bertzaza
@bertzaza Жыл бұрын
Объяснение - мое почтение! Все понятно с первого раза)
@alexschiopu
@alexschiopu Жыл бұрын
Огонь!!! 🔥🔥🔥🔥🔥🔥 До этого просто использовал это и не задавался, что там под копотом и как. А теперь с пониманием буду использовать))) Спасибо большое за простое и понятное объяснение!!! Саша, продалжай в том же духе, всё круто!!!
@J1mDGriz
@J1mDGriz Жыл бұрын
Спасибо за объяснение темы. Несколько раз вчера прочитал эту тему с примерами кода в уроке на своём обучении. Ничего не понял. После вашего видео всё становится понятно
@fedorok12345
@fedorok12345 Жыл бұрын
Объяснение реально очень классное, как-то до этого в целом понимал эту структуру, но здесь прям все встало на свои места
@elseff
@elseff Жыл бұрын
Очень понятно! Закрепил теперь точно эту структуру данных! Спасибо
@timgapps9878
@timgapps9878 Жыл бұрын
Отличное видео. Мне как новичку в изучении java очень помогло разобраться в работе hashset и hashmap, а также понять как связаны методы hashCode() и equals() и для чего они нужны, спасибо огромное за твои уроки
@kirillzhukov1675
@kirillzhukov1675 Жыл бұрын
Больше бы таких видео, где очень доступно и понятно
@igornamakonov6472
@igornamakonov6472 Жыл бұрын
Очень хорошо рассказал, спасибо. Будет интересно посмотреть про другие структуры данных. Trees, linked list, graphs.
@louis-nicoladavout7580
@louis-nicoladavout7580 Жыл бұрын
Редко пишу коммент. Но это того стоит. Лучшее объяснение hash сетов и таблиц. ❤
@user-lk8n0fgjk
@user-lk8n0fgjk Жыл бұрын
Александр, отличное видео, впрочем как все Ваши ролики! Спасибо!
@nikitafedorov5884
@nikitafedorov5884 Жыл бұрын
Большое спасибо. Отличное объяснение. Продолжай!
@vld_dmn
@vld_dmn Жыл бұрын
Это великолепное объяснение
@inbluegirl
@inbluegirl Жыл бұрын
Огромное спасибо за популяризаторский стиль!!! Теперь поняла, наконец-то, что из себя эта хеш-таблица представляет
@alcor9921
@alcor9921 Жыл бұрын
Впервые на канале и удивился как понятно ты объяснил данную тему. Спасибо за тот труд ❤ Было бы круто, если б еще к твоему плейлисту разбора задач с собеседований из бигтеха прибавился и Нетфликс, пожалуйста
@СергейБеркетов-ф2к
@СергейБеркетов-ф2к 6 ай бұрын
Формат крайне удобный и понятный. Спасибо! Стоит продолжать в этом духе.
@АлександрТаран-р9р
@АлександрТаран-р9р Жыл бұрын
коротенько и доходчиво. Спасибо за проделанную работу!
@lagert5302
@lagert5302 2 ай бұрын
Я очень редко пишу комментарий,но Боже,какое же это крутое видео!Я много читал про хэширование и про хэш-таблицы,но ничего не помогло мне понять это ,как это видео,я буквально прозрел!Спасибо ,бро,долгих лет тебе жизни
@saigon9505
@saigon9505 Жыл бұрын
Очень интересно и понятно рассказано! Отличная подача материала
@suspiciousgoose7904
@suspiciousgoose7904 7 ай бұрын
Только прочитал в книге про хеши, так вот видос тебе. Да какой качественный и понятный Спасибо ❤
@shpritsgodx
@shpritsgodx Жыл бұрын
Спасибо моему другу,Жаке. За ссылку на видео.Очень интересно
@КонстантинБелобородов
@КонстантинБелобородов Жыл бұрын
Очень приятная и интересная подача материала! Спасибо! Пожалуй подпишусь.
@СилуанПоцелуев
@СилуанПоцелуев Жыл бұрын
Коллизия - это совпадение хэшкода у двух разных объектов, а не факт попадания этих объектов в один бакет. Соответственно и логика проверки внутри бакета двухуровневая - когда попали в бакет и бежим по элементам, то сравниваем их сначала по хэшкоду и только если они совпадают то сравниваем по equals. По крайней мере для java это так
@andreibulatov2395
@andreibulatov2395 Жыл бұрын
100% true
@justDimoon
@justDimoon Жыл бұрын
Согласен 💯
@ahilesova_pyata
@ahilesova_pyata 11 ай бұрын
Вроде бы автор правильно сказал, коллизия это попадание в один бакет нескольких элементов даже с разными хэшами. А проверка ключей в списке идёт, сначала по хэш коду, потом ссылки (==) и только потом equals(). Java. Но автор конечно, слишком обобщил и упростил
@СилуанПоцелуев
@СилуанПоцелуев 11 ай бұрын
@@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
@ЫрысбекАбдималикоа
@ЫрысбекАбдималикоа 10 ай бұрын
Если хеш-код разные то объекты разные, а если хеш-код одинаковые это значит что объекты одинаковые
@sergeinerobeev3501
@sergeinerobeev3501 Жыл бұрын
Спасибо! 👍Повторение-мать учения!
@nsdnight
@nsdnight 9 ай бұрын
Лучшее видео по хеш-таблицам.
@АндрейНикола-п6ю
@АндрейНикола-п6ю 10 ай бұрын
Спасибо за такое понятное и подробное объяснение! Отличная работа!
@Василий-ю2х8и
@Василий-ю2х8и Жыл бұрын
Редко пишу комментарии, но тут не удержался) спасибо за такой детальный, а самое главное грамотный разбор, контент усваивается легко, слушать интересно, подписался, пойду смотреть предыдущие ролики)
@omgplznooo
@omgplznooo Жыл бұрын
Это объяснение просто афигенно! На моем курсе это объяснялось очень криво... тут сильно лучше
@rost170
@rost170 Жыл бұрын
Это база. Объяснение потрясающее
@igorglushatov1948
@igorglushatov1948 Жыл бұрын
Хорошее и простое объяснение без математических з**бов. Спасибо большое
@aleksey8530
@aleksey8530 Жыл бұрын
Спасибо за твой канал ты лучше всех обьясняешь, честно говоря алгоритмов я сторонился но с твоими обьяснениями задач стало интересно и появилась вера что все возможно изучить, хочется как можно больше видео!
@ИльяВласов-ф7к
@ИльяВласов-ф7к 6 ай бұрын
Очень понятно и легко. Спасибо за детальное объяснение!
@Алексейм-с7б
@Алексейм-с7б Жыл бұрын
Супер! ❤ спасибо! Можно вообще сделать разборы структур данных!? Например, про деревья 😅😊
@TopMusicBeautifulLife
@TopMusicBeautifulLife Жыл бұрын
Спасибо большое! Продолжайте в том же духе!
@winternight4754
@winternight4754 Жыл бұрын
Спасибо за ролик, давно смотрю ваши выпуски. Очень интересно и понятно.
@ilyasavenok9051
@ilyasavenok9051 10 ай бұрын
Спасибо за видео. Было бы здорово увидеть объяснение, как работает функция hashCode() изнутри и как мы можем её переопределять.
@madyogi2108
@madyogi2108 Жыл бұрын
Как приятно тебя слушать, смотреть твои видео, продолжай в том же духе! Изменено: я настаиваю, чтобы ютуб создал официальный плейлист с 1000 самых понятных видео на ютубе, и твое будет первое!!
@ЕгорРура
@ЕгорРура Жыл бұрын
Спасибо за ролик! Было очень ясно и доступно объяснено! И не знал что обычный объект js такие чудеса вытворяет!!!!
@abuiman5251
@abuiman5251 Жыл бұрын
Спасибо, Саша! Для меня это лучшее объяснение которое я встречл👍🏻👍🏻👍🏻 Не останавливайся пжл!
@sberdiug
@sberdiug Жыл бұрын
Вау! Отличный урок! 👍
@dregster564
@dregster564 Жыл бұрын
еще одна находка для меня! круто, еще с примерами на нескольких языках
@andreimikhalkevich5633
@andreimikhalkevich5633 Жыл бұрын
спасибо автору, легкая и главное понятная подача материала
@kotsimon6468
@kotsimon6468 8 ай бұрын
Великолепное объяснение! Спасибо Вам!
@ПелагеяПетровак
@ПелагеяПетровак 5 ай бұрын
Спасибо! у тебя талант объяснять)
@tal_wolfrid
@tal_wolfrid Жыл бұрын
Очень круто объясняешь и визуально показываешь 💪
@Hellen-qx3lb
@Hellen-qx3lb 9 ай бұрын
Как здорово объясняешь ! Я не программист , но все поняла
@DefleMask
@DefleMask Жыл бұрын
Выборка по остатку от деления довольно медленная. В большинстве реализаций используются битмаски. Хоть размеры таблиц и становятся кратны степеням двойки, зато логический and выполняется за один такт процессора, вместо шести-десяти у модуля. Также в Java стандартный HashMap уж очень прожорливый, т.к. оборачивает объекты в ноды с ссылками на предыдущий и следующий элемент. Потому для небольшого числа элементов (до 16384) лучше использовать такие вариации, где таблицы ключей и значений представлены одним массивом
@АдамСмит-ы7р
@АдамСмит-ы7р Жыл бұрын
Ну про большинство вы всё же загнули, например в libc++ (см. функцию __constrain_hash) на случай степени двойки есть ифик, но допускается произвольное значение __bc, в libstdc++ всегда просто берут остаток от деления (struct _Mod_range_hashing). Насчёт медленности взятия остатка от деления - можете посмотреть на библиотеку fastmod, можно немножко предподсчитать и обойтись умножением и сдвигами (правда, вышеупомянутые реализации так не делают, наверное чтобы ABI не ломать). А по три ссылки на объект - разве ж это по джавовым меркам прожорливый)
@pridelander
@pridelander 8 ай бұрын
Приятно слушать и смотреть, спасибо тебе!
@КириллКозырь-л9л
@КириллКозырь-л9л Жыл бұрын
Саша, большое спасибо! хороший материал
@moments_shock
@moments_shock Жыл бұрын
Классно и понятно для новичков)) Тем временем Java где HashSet использует в своей реализации HashMap 🙃
@sashalukin
@sashalukin Жыл бұрын
Все так)
@acthanger7420
@acthanger7420 Жыл бұрын
Крутой контент делаешь, спасибо)
@Gavao1604
@Gavao1604 Жыл бұрын
Мужик, я ни хера не понял, что ты сказал, но ты мне близок. Ты заговорил и достучался до сердца.
@vladimir.kravets
@vladimir.kravets Жыл бұрын
Красиво, наглядно, но есть пара нюансов: 1. массив бакетов пересоздается не всегда, когда количество элементов достигает количества бакетов, как правило еще есть такой параметр, как load factor, то есть это управляемая история 2. из-за того, что существует атака на хэш-таблицу тем, что в нее подкладывают элементы дающие коллизию, то в нормальных реализациях hash map есть контроль такой ситуации и в случае её возникновения, то происходит переключение со списка на дерево
@cd6693
@cd6693 10 ай бұрын
Большое спасибо за пояснение, еще и на 3 языках)
@Poli.Pavlovich
@Poli.Pavlovich 29 күн бұрын
Крутейшее объяснение! Для меня темп был немного быстрым, в основном смотрела на скорости 0.75 :)
@worldfree1190
@worldfree1190 Жыл бұрын
Вау! Смотрю уже довольно давно и каждый раз полный восторг
@obusis
@obusis Жыл бұрын
Отличный контент! Отличная подача! Ждём продолжения.
@daemon_alecto9586
@daemon_alecto9586 11 ай бұрын
Давай такое видео по stack/queue/dequeue
@АлександрКнязев-ю1в
@АлександрКнязев-ю1в 26 күн бұрын
Каким образом функция hashCode() получает/знает об одном и том же номере, в случае если значение уже сущесствует, когда мы вызываем contains()???
@adammason482
@adammason482 Жыл бұрын
Спасибо за ролик!
@Lesha-v2j
@Lesha-v2j Жыл бұрын
Привет! Впервые зашел на твой канал, и это очень крутое объяснение хэш-таблиц! У меня будто прозрение после твоего видео, спасибо!
@galemaj
@galemaj 22 күн бұрын
материал подан просто: великолепно
@alekseykirov4647
@alekseykirov4647 10 ай бұрын
Паря не останавливайся - эта годнота нужна, визуализация решает.
@antonkl858
@antonkl858 Жыл бұрын
Хорошо бы затронул перождение списка в дерево - достаточно важная вещь в Hash Java. И часто спрашивают еще про то, как считает hashCode()
@DrAlan3
@DrAlan3 Жыл бұрын
Подписываюсь под словами. сам хотел это попросить, но уже есть то я просто лайкну.
@gimeron-db
@gimeron-db Жыл бұрын
Пока только учусь, но кажется, что это какая-то контрольная сумма (не важно какая, главное, чтобы для одного и того же объекта выдавала один и тот же код)
@MrGoodCatSCP
@MrGoodCatSCP 6 ай бұрын
Ай, как хорошо слушать и смотреть! Рад, что алгоритмы показали такое видео) Оффтопный вопрос: а что за монитор?
@believer.2001
@believer.2001 Жыл бұрын
Большое спасибо за "уроки", все предельно понятно и интересно изложено 👍 Было бы неплохо увидеть твой ролик про сборщик мусора, частенько спрашивают на собеседованиях )
@ФоксСенна
@ФоксСенна Жыл бұрын
так ничерта же не понятно! я тут в каментах один адекватный?
@MrYbs-ie1jj
@MrYbs-ie1jj Жыл бұрын
​@@ФоксСеннаа ты не умеешь писать.
@dragerjeji5279
@dragerjeji5279 Жыл бұрын
Отлично, отлично, отлично! Огромное спасибо за это видео!
@ilyalevanov
@ilyalevanov Жыл бұрын
как раз на днях задался вопросом почему при использование хеш таблиц сложность поиска о(1), и тут твой видос! спасибо
@FariusFriends
@FariusFriends Жыл бұрын
Теперь QR код есть ;). Смотрю тебя от когда у тебя было 4 видео на канале.... keep going :)
@sashalukin
@sashalukin Жыл бұрын
Спасибо, только благодаря тебе и увидел!
@johnjonson4641
@johnjonson4641 Жыл бұрын
Ради таких видео я и плачу за интенет Спасибо!)
@grigorystasevich33
@grigorystasevich33 Жыл бұрын
Отличное видео, спасибо
@РоманМатохин
@РоманМатохин 7 ай бұрын
Супер объяснение! Спасибо большое!
@billgrover3130
@billgrover3130 Жыл бұрын
Офигенная подача материала огонь🔥🔥🔥🔥
@kl45gp
@kl45gp Жыл бұрын
отлично обьясняешь, спасибо! Только забыл раскрыть смысл почему это hash и почему это set
@Mr.Bellamy
@Mr.Bellamy Жыл бұрын
Хороший контент, только синтаксис у javascript очень древний, 10 летней давности))) В js HashSet это Set, хэш таблица это {} или его более продвинутый вариант - Map Давай еще про структуры данных. Какие бывают разновидности деревьев. Графы и т.д.
@madplayer5
@madplayer5 Жыл бұрын
А почему перезалив?? Повторю пожелание в прошлом комменте: было бы очень интересно посмотреть как вообще выглядит хэш функция например у этих дробей
@diomed4570
@diomed4570 Жыл бұрын
Очень лаконично и понятно, спасибо.
@ilya.dronov
@ilya.dronov Жыл бұрын
Лучший контент !
@synthpadawan
@synthpadawan 7 ай бұрын
ЭТО ПРОСТО ОФИГЕННО
@dmii3iy
@dmii3iy Жыл бұрын
Отличная подача материала!
@djorayevofficial5060
@djorayevofficial5060 11 ай бұрын
Саша спасибо . Видео супер , понятный и простой. Хотелось бы весь курс про Алгоритмов на таком стиле сам я данный момент пытаюсь изучать их но из-за того что у меня нету достаточного знания высшей математики как-то сложно стало понять суть алгоритмов. Был бы рад если в скором времени будете запускать курс.
@bysedova
@bysedova Жыл бұрын
Присоединяюсь к желающим разобраться с графами!
Хэш-таблицы за 10 минут
13:01
Николай Тузов — Golang
Рет қаралды 132 М.
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 10 МЛН
風船をキャッチしろ!🎈 Balloon catch Challenges
00:57
はじめしゃちょー(hajime)
Рет қаралды 97 МЛН
The IMPOSSIBLE Puzzle..
00:55
Stokes Twins
Рет қаралды 174 МЛН
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 6 МЛН
Я Прошел Собеседование в Google… Как?
9:51
Саша Лукин
Рет қаралды 559 М.
Map and HashMap in Java - Full Tutorial
10:10
Coding with John
Рет қаралды 602 М.
6 важных структур данных
17:25
S0ER
Рет қаралды 92 М.
7 Лет Опыта в IT | Что я Понял?
19:56
Vlad Mishustin
Рет қаралды 228 М.
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 10 МЛН