ЕДИНСТВЕННАЯ СТРУКТУРА ДАННЫХ, КОТОРАЯ ПОКРЫВАЕТ ВСЁ

Научись создавать нейросети:
go.skillfactory.ru/wndtngpt
Скидка 45% по промокоду PULLUPHARD
Запишись в октябре и получи мини-курс по применению нейросетей в подарок.
Реклама. ООО «СКИЛФЭКТОРИ» ИНН 9702009530 erid: 2VtzqvRwR1d
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Если бы у меня спросили про единственную структуру данных, которую нужно знать, это была бы Хэш-Таблица.
Фишка в том, что при изучении именно хэш-таблиц, ты узнаешь про все остальные структуры.
Связные списки, мапы, сеты, деревья...
Короче, в видео собрана вся база для тех, кто начинает или пытается окунуться в структуры данных, и конкретно в Ассоциативные массивы.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Я wndtn, мне 20 c чем-то лет, и я изучаю computer science и программирую ~10 лет.
Я into С++, и всякие low-level штуки.
У меня есть небольшой проект, xplatform, который вы сможете найти на github, и через него практиковаться в изучении всей базы программирования, и если вам повезет(если вы упорный), вы станете хорошим программистом %)
Если нужна помощь в программировании 1 на 1, чекайте ссылки .
всем добра
Телега - t.me/wndtn
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Полезные материалы:
На русском:
• Базовый курс C++ (MIPT...
На английском:
• Hash table hash function
www.amazon.com/Introduction-A...
Тут есть около 50-100 страниц про ХэшТаблицы. Почитайте
Тут про ADT:
www.amazon.com/Algorithms-4th...
Если нужны какие-то ссылки из видео - пишите комментарий, я добавлю.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Подпишись сюда, бро:
Telega и чатик - t.me/wndtn
Boosty(менторинг для РФ) - boosty.to/wndtn
Instagram - / winderton
Github проекта(код с канала) - github.com/winderton
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Оборудование:
Камера - Sony a7ii
Объектив - SIgma F1.4 DG
Микрофон - AudioTechnica at2035
Звуковая карта - Scarlett Solo
Петличка - Rode smartlav+
Клавиатура - HyperX Alloy
Вторая клавиатура - apple magic keyboard(black edition)
Монитор DELL 25'
Монитор Asus mg248q
Iphone 11 pro(зеленый)
CAMLINK elgato - для стриминга
JBL headset
Телик LG nanocell 50
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Музыка:
KATworkshop - тема

Пікірлер: 272

  • @wndtn
    @wndtn8 ай бұрын

    НАЧАЛ УЧИТЬ ХЭШТЭЙБЛ, В ИТОГЕ ВЫУЧИЛ СВЯЗНЫЙ СПИСОК, МАССИВ, СЕТ, МАП, И ДЕРЕВЬЯ....

  • @user-bg3hh5gc7x

    @user-bg3hh5gc7x

    8 ай бұрын

    Топчик ГОУ видосик про декомпозицию предметной области😊

  • @dmitriypashkov2666

    @dmitriypashkov2666

    8 ай бұрын

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

  • @user-hf6qb9qk2p

    @user-hf6qb9qk2p

    7 ай бұрын

    Такой же путь прошел)

  • @alexandrex6267

    @alexandrex6267

    7 ай бұрын

    я вот не понял что происходит, слова знакомые что для чего не понятно

  • @user-mq5nl6sm5y

    @user-mq5nl6sm5y

    6 ай бұрын

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

  • @user-mu6zp2cn3y
    @user-mu6zp2cn3y8 ай бұрын

    Больше видосов по алгоритмам и структурам данных и ещё сними видос где ты решаешь задачи на литкоде с объяснениеми для чайников

  • @DiIov

    @DiIov

    7 ай бұрын

    Донат скинь И в сообщении попроси

  • @user-sky000
    @user-sky0008 ай бұрын

    Полезно всё, что ты делаешь! Из этого складывается собственная логика и понимание ,как в это влиться🎓🧠👁

  • @tonybard
    @tonybard8 ай бұрын

    dict в python это хештаблица с двойным хешированием, сохранение порядка вставки поддерживается особенностями реализации, а не мапой

  • @user-zf5vn2lw8b

    @user-zf5vn2lw8b

    6 ай бұрын

    Питон лоховской язык

  • @tonybard

    @tonybard

    6 ай бұрын

    @@user-zf5vn2lw8b адепты js подъехали

  • @user-fr9qd3ox6x

    @user-fr9qd3ox6x

    4 ай бұрын

    ​@@user-zf5vn2lw8b😂😂😂 absolution верно

  • @dendeoshor8797
    @dendeoshor87978 ай бұрын

    Невероятный кладезь знаний за 10 минут. Если бы меня спросили как понять такие сложные штуки, то я бы, не думая, ткнул пальцем в канал Winderton. Спасибо, мужчина)

  • @kefir2935
    @kefir29358 ай бұрын

    А где комментарии? Ладно, тогда распишу че хочу. Вариант ответа на вопрос в конце: когда известен ключ и не надо перебирать все возможные варианты, что бы найти один единственный. Видос полезный, но надо будет еще утром посмотреть, а то всё забуду. И хотелось бы попросить рассказать про деревья. Бинарные, черно-белые и т.д. Смотрел в интернете - нудно, много воды и надо прям вчитываться в каждую букву что бы понять. Вроде всё. За видосы +реп ❤

  • @dmitry_orlov
    @dmitry_orlov8 ай бұрын

    Спасибо. Отличный ликбез. Хотелось бы послушать про красночерное дерево

  • @Sterrvac
    @Sterrvac8 ай бұрын

    Ответ на вопрос в конце 1)Хэш-таблицы, работают быстрее при поиске элементов, в массивах нужно перебрать все элементы, чтобы найти тот самый, в то время как в хэш-таблице вы переходите непосредственно к элементу. 2)Вставка элемента выполняется быстрее в хэш-таблицах, так как вы просто хешируете ключ и вставляете его; в массивах важно сначала переместить элементы, прежде чем вставлять еще один.

  • @Xname00

    @Xname00

    7 ай бұрын

    Про первое, если у нас есть индекс, то мы сразу перейдем к элементу в массиве и будет O(1) как и в хэш-таблице. Индекс это же альтернатива ключу в хэш-таблице

  • @user-rb3dz3yt1y

    @user-rb3dz3yt1y

    7 ай бұрын

    @@Xname00 поэтому нихуя и не понятно - нахуя хэш-таблицы, если можно юзать обычные массивы -- доступ по ключу равен доступу по индексу. Жопой чую, что тут извечная дилемма по выбору "память-vs-процессор", но автор в видосе это не затронул.

  • @TheUnderLike

    @TheUnderLike

    7 ай бұрын

    @@Xname00 В том же и суть, что при поиске вы не знаете наличествует ли элемент в массиве/хэше, так о каком индексе речь? При поиске подразумевается не доступ (access), а конструкция типа "if something in array", в этом случае в массиве нужно будет перебирать каждый элемент до тех пор, пока "something" не будет найден, что в худшем случае и будет O(n). В хэшиках элемент вытаскивается сразу без этой беготни.

  • @jet4904

    @jet4904

    7 ай бұрын

    @@TheUnderLike почти все правда, но если трогать биг О то можно понять, что поиск в HshTable это 0(N) так же как и в массиве из за колизий. А мы программисты как наверное знаешь выбираем надеямся на самый наихудший вариант.

  • @jet4904

    @jet4904

    7 ай бұрын

    невсегда при заполнение HashTable обычно это на 70%, то HashTable пересоздается с увеличиной длиной в 2 раза как правило.Поэтому по Big O это будет 0(N)-вставка. Да конечно можно сказать что HashTable не заполнен и тд. Но в Big O всегда выбирают самый хужший вариант.Так же как с поиском и удаление все это 0(N) но в среднем да 0(1).

  • @YanchikDev
    @YanchikDev7 ай бұрын

    В Python dict был неупорядоченным до версии 3.6, для упорядоченного существовал OrderedDict(). Затем dict стал упорядоченным, при этом он остался хеш-таблицей, в итоге теперь в Python две реализации упорядоченного словаря)

  • @itnabigator

    @itnabigator

    7 ай бұрын

    Да только упорядоченность дерева подразумевает упорядоченность по значению, а OrderedDict это упорядоченность по времени вставки. Иногда бывает полезно и то и другое, но все же упорядоченность по значению более полезная штука. Например если у тебя ордеред сет в виде дерева то ты можешь искать upper/lower bound за логарифмическое время что покрывает очень большой класс задач. Ордеред дикт по факту совмещает две структуры и в этом плане не совсем уже чистая хэшмапа

  • @Vinodel177
    @Vinodel1778 ай бұрын

    нет, dict в Python это тоже хеш-мапа, не RB-tree

  • @sainthentai7763
    @sainthentai77638 ай бұрын

    Классный видос по супер базе. Теперь я чуть больше шарю за ассотивные массивы.

  • @Dimitry337
    @Dimitry3377 ай бұрын

    Требуем 10 часовой ролик по современным плюсам !!!!!

  • @SklerozRu

    @SklerozRu

    7 ай бұрын

    На современный с++ нужно десятигодовой 😂

  • @Dimitry337

    @Dimitry337

    7 ай бұрын

    Ну все же он обещал на вроде 40к выпустить 10 часовой

  • @AivanF

    @AivanF

    6 ай бұрын

    Лучше уж Раст тогда 😎

  • @Dimitry337

    @Dimitry337

    6 ай бұрын

    @@AivanF ну раст вообще создан для прокачки мышления для плюсов

  • @MrTim-sz1zx
    @MrTim-sz1zx8 ай бұрын

    Реально годные видосы, очень быстро и по делу,продолжай так же

  • @d4e220
    @d4e2208 ай бұрын

    Отлично рассказываешь, думаю нужно больше такого контента)

  • @staffa_kar_terma
    @staffa_kar_terma6 ай бұрын

    Привет чумваки, через два месяца упорного бодания рогами в землю, я пробил этот кокон и понял что дойду до конца и все уже стало понятным и логичным. Если вдруг у вас начался кризис обучения и вы хотите бросить, может быть вы прочтете и это придаст вам сил. Не опускай руки, бро!

  • @staffa_kar_terma

    @staffa_kar_terma

    4 ай бұрын

    о кто то поставил лайк, а после нг праздников так и не сел обратно, но всё ещё знаю что могу, новое видео Виндерпуфена смотрю и оно придаёт мотивации. Всем йоу!

  • @whoammiwho6172
    @whoammiwho61728 ай бұрын

    Восхищаюсь этим человеком. И его смотрят такие же свехнутые люди, кто любит компы и хочет понимать их лучше.😂 А уже потом кодеры.

  • @johnboe5584
    @johnboe55847 ай бұрын

    скорее всего на русскоязычном сегменте, ты первый кто будет объяснять это для "чайников". Я только начал учиться, но благо тебе есть "неусталость" обучению. TY❣

  • @user-qp5mu5tc8n

    @user-qp5mu5tc8n

    7 ай бұрын

    А смысл? Ведь этого будет недостаточно, однако ты рано или поздно дойдешь до них и изучишь уже на более глубоком уровне сам.

  • @MrAnajan
    @MrAnajan6 ай бұрын

    Очень полезная инфа. От души. Единственное замечание. Почему вставка и удаление из сбалансированных деревьев - это O(log(n)). Может больше? А как же дополнительные операции на перебалансировку дерева? Так называемые вращения (rotations)

  • @senioreasy
    @senioreasy7 ай бұрын

    В с++ можно так: using namespace std; unordered_map data { {"Ivan",1}, {"John",2} }

  • @Ortskhoev
    @Ortskhoev8 ай бұрын

    Хорош хорош братан, давай ещё! Можно такого побольше?

  • @madararara
    @madararara8 ай бұрын

    в С++ строки изменяемые

  • @bambalbino
    @bambalbino8 ай бұрын

    Спасибо. Нравится, что без воды.

  • @glebklymenko8975
    @glebklymenko89758 ай бұрын

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

  • @Mr.Fix_man
    @Mr.Fix_man8 ай бұрын

    Шикарный материал 👍👍👍

  • @plathardstuck28
    @plathardstuck287 ай бұрын

    В питоне до 3.7 dict был беспорядочный. В 3.7 его упорядочили (ради оптимизации памяти немного переработали dict, упорядочивание вышло просто полезным плюсом).

  • @frivolouselm7529
    @frivolouselm75297 ай бұрын

    Ответ на вопрос в конце ролика. Хэш-таблицы могут быть быстрее массивов в двух случаях: 1. Когда известно только значение которое необходимо найти. В случае массива придется перебирать весь массив в случае с мапой ключом будет являться само значение пропущенное через хэш-функцию. 2. Массив хранит в себе сам объект а мапа указатель на память где лежит объект. Соответственно при условии что объекты могут динамически изменять свой размер массив будет требовать переаллокации памяти и переноса себя в эту память что довольно медленно а мапа нет. Возможно есть еще какие то кейсы но сходу в голову пришли эти.

  • @user-yq9ns6tn1e

    @user-yq9ns6tn1e

    4 ай бұрын

    У классического массива, доступ к памяти, осуществляется как: + * size_of(), Если значение функции size_of() не является константой для данного типа, то создать классический массив, из этих элементов невозможно. Переменные(объекты/структуры) чей размер нельзя определить на этапе компиляции - всегда хранятся в куче. Массив из таких элементов всегда будет массивом из указателей. (Даже если сам массив тоже хранится в куче и доступен по указателю). Поэтому второй ваш пример, мне кажется не состоятельным.

  • @wewq491
    @wewq4918 ай бұрын

    Ты лучший, продолжай свои уроки!!!❤❤❤

  • @damirckproject2306
    @damirckproject23068 ай бұрын

    Как раз думал, где видосы, как раз дропнул. Тупо сказка перед сном)

  • @timshevchuk4198
    @timshevchuk41988 ай бұрын

    Спасибо за видос. Непонятно, конечно, но очень интересно =)

  • @nitroflap
    @nitroflap8 ай бұрын

    Как говорят мудрецы, если завис с задачей, то брось на нее хеш таблицу и все будет шикарно.

  • @cat35467

    @cat35467

    8 ай бұрын

    А лучше положи на нее хрен😂

  • @cheerwizard21
    @cheerwizard216 ай бұрын

    Понимание линейних массивов тоже очень важно. Везде где можно скешировать и проитерироваться, очевидно лучше соблюдать линейность, нежели таблицу или слинкованные структуры данних. А вообще, лучше изучать и практиковать разные структуры и самому тоже делать (без использования стандарта std или boost)

  • @hlebusheck_3468
    @hlebusheck_34688 ай бұрын

    Массив быстрее хеш таблицы в случае поиска/замены так как арифметика указателей быстрее хеш функции Но если нужно удалить/добавить элемент то в случае с массивом нужно найти !неприрывную! область в памяти размером {старый массив+новый/новые элементы}, скопировать всё старое и добавить новое и только потом удалить из памяти старый массив весь этот процесс на словах долгих, а не только на деле Хеш таблица же таким не страдает и память выделяется только на новый объект который будет добавлен, а всё старое остаётся на месте Например тот же вектор в с++ частично решает проблему со вставкой, но только в конец и до того момента пока не понадобится амортизация

  • @OlgaGavva-qm2dp
    @OlgaGavva-qm2dp6 ай бұрын

    Вот это контеент!😂🎉 Я присоединяюсь к требованию десятичасового курса по плюсам !❤

  • @loveevangelik3797
    @loveevangelik37978 ай бұрын

    бомба бро, супер базированная база, мб попробую использовать вместо векторов

  • @AntonyKondr
    @AntonyKondr8 ай бұрын

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

  • @someone__someone_1681
    @someone__someone_16818 ай бұрын

    Найс. Как всегда база на языке народа. Красавчик 🎉

  • @user-hu7fu4pc1f
    @user-hu7fu4pc1f6 ай бұрын

    Боже как долго я тебя искал, ты шикарен 😍😍😍 хз кто еще так может информативно рассказывать

  • @mgkf1956
    @mgkf19568 ай бұрын

    гений на челе смог мне объяснить мне принцип работы этой структуры... прошел универ, но так и не понимал, как работают словари и причем тут хеш)) спасибо

  • @chatterbox1670
    @chatterbox16708 ай бұрын

    Вы как то говорили про обучение? Где можно посмотреть информацию об этом??

  • @evkn503
    @evkn5038 ай бұрын

    Может чуть помедленней стоит, обдумывать не успеваю что ты рассказываешь) А так спасибо, интересный материал, однозначно лайк

  • @user-rb3dz3yt1y

    @user-rb3dz3yt1y

    7 ай бұрын

    зависит от матриала и твоих знаний - я некоторые наборот побыстрее включаю

  • @timoleksii
    @timoleksii7 ай бұрын

    "А вот С++ .... сделал строки неизменяемыми" - это ошибка.`std::string` имеет изменяемый контент, как и область памяти, на которую указывает `char *`

  • @cheerwizard21

    @cheerwizard21

    6 ай бұрын

    Думаю он имел ввиду const char*

  • @ivan.kulenko
    @ivan.kulenko7 ай бұрын

    5:35 в питоне это тоже хеш таблица. Для упорядоченной таблицы есть ordereddict.

  • @user-nb8ep2ig9y
    @user-nb8ep2ig9y8 ай бұрын

    при поиске и вставки элементов, это лучше всего сочетается в большом объёме данных или когда тебе по ключу что либо найти надо, вооот...

  • @user-df3zw9um4e
    @user-df3zw9um4e6 ай бұрын

    Требуем адское мессиво на 10 часов по плюсам

  • @Im_Seth
    @Im_Seth8 ай бұрын

    ответ на вопрос: при поиске {"one":1,"two":2} искать по ключу "two" будет быстрее чем искать 2 в массиве [1,2]. если я правильно пончл вопрос..

  • @Baha996
    @Baha9968 ай бұрын

    В python dict реализован с использованием структуры данных hash table

  • @user-iv5co4lu9g
    @user-iv5co4lu9g7 ай бұрын

    Полезный контент, автор достойно доступным языком всё разжевал👍

  • @vesh95
    @vesh952 ай бұрын

    6:36 С какого это лысого O(1), если нужно пролистать по структуре до попадания на нужный хэш? Мы не адрес всё-таки там храним. Сразу нужно понимать, что структура с абстрактным множеством эл-тов не будет выдавать такие низкие сложности.

  • @MaxiGouogle
    @MaxiGouogle7 ай бұрын

    А потом возникают вопросы: *"Какого хрена такой низкий ФПС?!"* или *"Откуда такие сумасшедшие мин требования?!"* или *"Почему такая УЙНЯ занимает NN гигабайт?!"

  • @msvru
    @msvru8 ай бұрын

    Интересно, но пока непонятно. Язык на котором пишу (Autoit) знает только про массивы. Ничего лишнего)

  • @alexfilus
    @alexfilus7 ай бұрын

    Но ведь часто нужно хранить сортированные данные, для поиска по больше, меньше, ренжам, префиксам. Так что далеко не всё хэшмапа покрывает.

  • @tonybard
    @tonybard8 ай бұрын

    нужно чуть больше комментариев про O(1), почему не учитывается время вычисления хэш-функции?

  • @KoMedVed

    @KoMedVed

    8 ай бұрын

    Потому что вычисление хэша это константа, а она в нотации большого О не учитывается. Большое О говорит о том, как увеличивается сложность в зависимости от количества данных, поэтому там константа не важна. Действительно, реальная производительность у массива может быть выше на всех операциях при малом размере данных, когда эффект константы больше, чем вклад увеличения сложности.

  • @tonybard

    @tonybard

    7 ай бұрын

    @@KoMedVed только хэш от строки например не константа 🤔в питоне удобно там все хэши заранее вычислены)

  • @KoMedVed

    @KoMedVed

    7 ай бұрын

    @@tonybard Не знаю как в питоне, но в java строки неизменяемые и хэш считается 1 раз - при создании

  • @tonybard

    @tonybard

    7 ай бұрын

    @@KoMedVed также, но в плюсах не так)

  • @Hardy_21
    @Hardy_218 ай бұрын

    Dude you ain't talking about quantum physics, it feels like this guy wants to sell you that it's a hard concept. Lol, it's not.

  • @VR2AI
    @VR2AI5 ай бұрын

    Мне понравилось, интересно смотреть. Но это первое видео в моей жизни которое я замедлял, до 0.75. Речь изначально ускорена?

  • @user-sz4tc1qf7i
    @user-sz4tc1qf7i7 ай бұрын

    👍🏻👍🏻👍🏻👍🏻в поддержку, пока не учу плюсы, но попал в реки и в будущем буду смотреть твои видосы. Лайк, подписка)

  • @dazzline7800
    @dazzline78008 ай бұрын

    Во всех случаях, где больше 1 элемента, хэш таблица быстрее массива

  • @355mq9
    @355mq98 ай бұрын

    Инфа полезная и вроде бы даже понятная, но приходится ставить видео на 0.75 :)

  • @olgafedyanova
    @olgafedyanova7 ай бұрын

    А есть видео, где вы рассказываете о том как перешли от джава к с++?

  • @cat35467
    @cat354678 ай бұрын

    А можешь объяснить, почему поиск в хэшмапе происходит за константное время ? Надо же найти в ней запись с нужным ключом, а для этого нужно пробежаться по всем элементам. Если они отсортированы, то можно использовпть бинарный поиск, но это все равно логарифмическое время, а не константное. В любом случае оно зависит от количества элементов в мапе и константным быть не может.

  • @user-nh5vg2jr9g

    @user-nh5vg2jr9g

    8 ай бұрын

    Потому что, в мапе ключи уникальны и не повторяются, поэтому за O(1), а не за О(n) Вроде как-то так ))

  • @wafemand

    @wafemand

    7 ай бұрын

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

  • @cheerwizard21

    @cheerwizard21

    6 ай бұрын

    @@user-nh5vg2jr9gЕсли искать не по ключу, а по какому-то другому предикату, то поиск будет O(n), и даже хуже чем в линейном массиве. Потому-что тебе нужно итерироваться по указателях, потом считать память указателя, а потом только использовать предикат.

  • @grizzardgrendi2543
    @grizzardgrendi25438 ай бұрын

    Спасибо!

  • @SerjCrimea
    @SerjCrimea7 ай бұрын

    Вот вы говорите что в Хеш таблицах переход происходит по индексу? Если массив с Int индексами, то теоретически переход происходит к элементу методом умножения к адресу, где непрерывно находятся данные. Но если Хеш это некая сумма элементов (символов) то как происходит "мгновенный" переход? :) Ведь всё в итоге компилится в ассемблер и код. И как бы не очень понятно как без "тупого" перебора таких хеш индексов происходит поиск нужных данных? Или я что-то пропустил? ;)

  • @wumi2419

    @wumi2419

    7 ай бұрын

    Задача в том, чтобы найти индекс по значению. Поиск перебором это простой проход по массиву/списку и сравнение каждого элемента О(N). Очевидно, это не касается деревьев и сортированных массивов (где есть бинарный поиск), O(log n). В хэш-таблице индекс получается из значения вызовом хэш-функции. Соответственно проверяется малое количество элементов (те, у которых совпало значение хэш-функции), O(1).

  • @user-lm9ku1jo2e
    @user-lm9ku1jo2e8 ай бұрын

    В питоне хэш мама, по крайней мере взятие элемента и проверка делаются за константу точно

  • @fumo3596
    @fumo35968 ай бұрын

    Лучший канал по айти

  • @maratchose
    @maratchose7 ай бұрын

    ребят, подскажите, стоит ли учить Php или Python для Бэк-Энда?

  • @hpntic

    @hpntic

    7 ай бұрын

    питухон

  • @Yoshidzo
    @Yoshidzo8 ай бұрын

    dict в python реализован с помощью хэш-таблицы, а не дерева

  • @user-nd3oy5es3c
    @user-nd3oy5es3c8 ай бұрын

    А почему вставка и удаление log(n) ? Там же еще перестроение дерева должно быть

  • @Tunec_s_hlebom
    @Tunec_s_hlebom8 ай бұрын

    10:30 хм, вряд ли хэш функция может быть быстрее массива🤔

  • @darkorb9910
    @darkorb99107 ай бұрын

    Бро, где обещаенные уроки по С++ ?

  • @PostLinuxoid
    @PostLinuxoid7 ай бұрын

    Неизменяемые строки в C++? Расскажите, будьте добры, если я чего-то не знаю...

  • @kirillhact
    @kirillhact8 ай бұрын

    Мужик, это всё хорошо, но когда будет стрим по С++, ну или по написанию Компилятора, очень ждём

  • @user-eq2ho7cf5e
    @user-eq2ho7cf5e8 ай бұрын

    А у Вас есть видео про GUI ??

  • @rinrab
    @rinrab8 ай бұрын

    Выдал базу ;)

  • @user-ei2co5vr7e
    @user-ei2co5vr7e8 ай бұрын

    А почему комментариев нет? Давайте поддержите молодого программиста

  • @atommax_1676
    @atommax_16768 ай бұрын

    Летс гоооу. Новое видео. Виндертон сделай видео о нейронках

  • @torburgmax
    @torburgmax8 ай бұрын

    достаточно важный момент для понимания упущен, который объясняет, почему поиск элемента константен по времени. речь про сведение хэша к индексу итогового массива

  • @uralbeking
    @uralbeking8 ай бұрын

    В стандартной библиотеке питона нету unordered hashmap, нужно создать кастомный класс для своих нужд 👍💯🗣️🗣️💅

  • @nktzmv8440

    @nktzmv8440

    8 ай бұрын

    питон иногда такой питон...

  • @n1ret

    @n1ret

    8 ай бұрын

    там всегда unordered, там проблемы дийкстру писать с несортированным сетом, это да

  • @itnabigator

    @itnabigator

    7 ай бұрын

    а зачем тебе анордеред? ордеред хэшмапа дает гарантию порядка при перечислении значений, а анордеред не дает. Поэтому ордеред всегда может заменить анордеред но не наоборот.

  • @el.k9776
    @el.k97767 ай бұрын

    Lua: смотрите, как они извращаются, чтобы достичь 1% моей силы!

  • @moonchannel6452
    @moonchannel64528 ай бұрын

    виндертон, удачи тебе, счастья, зайка моя любимая

  • @vjl3593
    @vjl35937 ай бұрын

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

  • @dmitrybalabka8910
    @dmitrybalabka89107 ай бұрын

    Саурон был бы в восторге от массивов в PHP.

  • @flekderantrow3706
    @flekderantrow37067 ай бұрын

    офигенский материал, супер

  • @isSatoshiReal
    @isSatoshiReal8 ай бұрын

    Медленно говоришь, можно еще быстрее?

  • @user-rb3dz3yt1y
    @user-rb3dz3yt1y8 ай бұрын

    Контент годный, объяснение самобытное, чёткое, понятное. Вообще канал классный. А вот запомоиться об остопи3девшую всему интернету Скулль-FUСК-тори - это позор. Лучше бы казино какое рекламировал, чем этих вонючих лохотронщиков (они сами признались, что львиная доля бюджета у них идёт на рекламу - скупили почти всех блогеров-проституток - даже Гоблин не устоял, продал свою жопку и честное имя за пачку баксов).

  • @gp4146
    @gp41467 ай бұрын

    Потратил десять лет на изучение хэш мапа спасибо за наставления!

  • @colonka
    @colonka7 ай бұрын

    Написал недавно мапу, сет и мультисет шаблонные) почему я не посмотрел это видео до?)

  • @klesslol5229
    @klesslol52298 ай бұрын

    Я думал, что функция вычисления индекса будет посложнее: hash & (bucket_amount - 1). Или так для упрощения видоса просто слелали?

  • @wafemand

    @wafemand

    7 ай бұрын

    Это просто оптимизация. Чтобы не вычислять каждый раз остаток от деления (а это довольно тяжёлая операция), делают размер массива равный степени двойки. Тогда остаток от деления будет такой же как в вашей формуле, а битовые операции значительно быстрее вычисления остатка. Но для понимания работы хеш таблицы эта формула не нужна.

  • @user-ij6el8gw5y
    @user-ij6el8gw5y5 ай бұрын

    Э, в смысле Удзумаки 10, там все 100 должно быть! А видео четкое:)

  • @aboudkar
    @aboudkar7 ай бұрын

    С какого перепуга строки в плюсах неизменяемые? Всегда во всех стандартах они были mutable. string_view immutable но это только 17 стандарт и не строка это вовсе а view.

  • @native-nature-video
    @native-nature-video8 ай бұрын

    8:52 - ни добавить, ни убавить. Квинтесенция.

  • @Z_Z.t
    @Z_Z.t8 ай бұрын

    Никогда не любил хеш функции, чёрт его знает сколько там будет коллизий. Для меня указатели всегда были надёжне- error: memory access violation: core dumped. (хоть и за указателями надо следить)

  • @Kalin_cheetah

    @Kalin_cheetah

    8 ай бұрын

    А как тогда представить строку, которая будет ключем в виде индекса в вашем примере? Ее ведь нужно пропустить через хэш-функцию. Ну если указтаели используете, то придется все равно сделать что-то типа *(arr + index)

  • @Z_Z.t

    @Z_Z.t

    8 ай бұрын

    @@Kalin_cheetah для этого есть ещё одно дерево, но я забыл как оно называется (чото там то ли постфиксное, то ли префиксное, то ли суффиксное дерево)

  • @torburgmax

    @torburgmax

    8 ай бұрын

    да можно и на ассемблере все писать)

  • @Z_Z.t

    @Z_Z.t

    8 ай бұрын

    @@torburgmax вопрос был вообще не про ассемблер, а про структуры данных. Просто у Си эта ошибка хотябы видна, а если использовать массив с индексами вместо указателей, то этой ошибки не будет, у тебя просто программа будет медленно но верно сыпаться без ошибок.

  • @torburgmax

    @torburgmax

    8 ай бұрын

    @@Z_Z.t какой вопрос?) я имею в виду, что нужно просто выбирать подходящий метод решения проблемы, и мне странно видеть фразы вроде "я не люблю хеш-функции". поэтому и предложил бантики перекладывать напрямую, чтобы все максимально контролировать)

  • @aceracer5556
    @aceracer55568 ай бұрын

    JS бы еще в примеры добавить...

  • @adekakz9794
    @adekakz97947 ай бұрын

    Здравствуй! Кто-нибудь может скинуть книгу из видео про Алгоритмы?

  • @user-hq9wr9oe3m
    @user-hq9wr9oe3m8 ай бұрын

    Блин, все таки для меня быстро объясняешь. Приходится перематывать и переслушивать.

  • @alextvein2392

    @alextvein2392

    8 ай бұрын

    Поставь видео в 0.75 или 0.5 и будет тебе счастье)

  • @JurgenRuttenstorfer
    @JurgenRuttenstorfer6 ай бұрын

    Все круто, но Juniorу работу хрен найдёшь. А так да, объявления есть 🙂

  • @user-on9bu4iy7u
    @user-on9bu4iy7u8 ай бұрын

    Супер база

  • @qqwesar
    @qqwesar8 ай бұрын

    изучая хештейбл познал основы мироздания

  • @MELYT115
    @MELYT1158 ай бұрын

    Привет) Я учу C и C++ благодоря тебе

  • @sunofabeach9424
    @sunofabeach94247 ай бұрын

    вот уж что-что, а таблицы стоило бы на Lua объяснять

  • @Sergey.Aleksandrovich.P-37rus
    @Sergey.Aleksandrovich.P-37rus8 ай бұрын

    Случайность?🤔.... что я сейчас юзаю хеш мапу в проекте 🤔 совпадение....

  • @VL4STEL1N
    @VL4STEL1N8 ай бұрын

    Годный контент 🎉

Келесі