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

  Рет қаралды 167,742

Winderton

Winderton

Күн бұрын

Научись создавать нейросети:
go.skillfactor...
Скидка 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...
Тут есть около 50-100 страниц про ХэшТаблицы. Почитайте
Тут про ADT:
www.amazon.com...
Если нужны какие-то ссылки из видео - пишите комментарий, я добавлю.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Подпишись сюда, бро:
Telega и чатик - t.me/wndtn
Boosty(менторинг для РФ) - boosty.to/wndtn
Instagram - / winderton
Github проекта(код с канала) - github.com/win...
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Оборудование:
Камера - 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 - тема

Пікірлер: 284
@wndtn
@wndtn Жыл бұрын
НАЧАЛ УЧИТЬ ХЭШТЭЙБЛ, В ИТОГЕ ВЫУЧИЛ СВЯЗНЫЙ СПИСОК, МАССИВ, СЕТ, МАП, И ДЕРЕВЬЯ....
@ИванВанюк-ъ1п
@ИванВанюк-ъ1п Жыл бұрын
Топчик ГОУ видосик про декомпозицию предметной области😊
@dmitriypashkov2666
@dmitriypashkov2666 Жыл бұрын
Спасибо за годный контент, а в чем если не секрет, ты монтируешь и делаешь графику?
@andru-d1f
@andru-d1f Жыл бұрын
Такой же путь прошел)
@alexandrex6267
@alexandrex6267 Жыл бұрын
я вот не понял что происходит, слова знакомые что для чего не понятно
@уват
@уват Жыл бұрын
можно еще быстрее говорить? ну и мужиков не надо, а так лойс поставлен)
@kefir2935
@kefir2935 Жыл бұрын
А где комментарии? Ладно, тогда распишу че хочу. Вариант ответа на вопрос в конце: когда известен ключ и не надо перебирать все возможные варианты, что бы найти один единственный. Видос полезный, но надо будет еще утром посмотреть, а то всё забуду. И хотелось бы попросить рассказать про деревья. Бинарные, черно-белые и т.д. Смотрел в интернете - нудно, много воды и надо прям вчитываться в каждую букву что бы понять. Вроде всё. За видосы +реп ❤
@VyacheslavZaytsevVlogs
@VyacheslavZaytsevVlogs Жыл бұрын
Ответ на вопрос в конце 1)Хэш-таблицы, работают быстрее при поиске элементов, в массивах нужно перебрать все элементы, чтобы найти тот самый, в то время как в хэш-таблице вы переходите непосредственно к элементу. 2)Вставка элемента выполняется быстрее в хэш-таблицах, так как вы просто хешируете ключ и вставляете его; в массивах важно сначала переместить элементы, прежде чем вставлять еще один.
@Xname00
@Xname00 Жыл бұрын
Про первое, если у нас есть индекс, то мы сразу перейдем к элементу в массиве и будет O(1) как и в хэш-таблице. Индекс это же альтернатива ключу в хэш-таблице
@РексенорРемон
@РексенорРемон Жыл бұрын
@@Xname00 поэтому нихуя и не понятно - нахуя хэш-таблицы, если можно юзать обычные массивы -- доступ по ключу равен доступу по индексу. Жопой чую, что тут извечная дилемма по выбору "память-vs-процессор", но автор в видосе это не затронул.
@TheUnderLike
@TheUnderLike Жыл бұрын
@@Xname00 В том же и суть, что при поиске вы не знаете наличествует ли элемент в массиве/хэше, так о каком индексе речь? При поиске подразумевается не доступ (access), а конструкция типа "if something in array", в этом случае в массиве нужно будет перебирать каждый элемент до тех пор, пока "something" не будет найден, что в худшем случае и будет O(n). В хэшиках элемент вытаскивается сразу без этой беготни.
@jet4904
@jet4904 Жыл бұрын
@@TheUnderLike почти все правда, но если трогать биг О то можно понять, что поиск в HshTable это 0(N) так же как и в массиве из за колизий. А мы программисты как наверное знаешь выбираем надеямся на самый наихудший вариант.
@jet4904
@jet4904 Жыл бұрын
невсегда при заполнение HashTable обычно это на 70%, то HashTable пересоздается с увеличиной длиной в 2 раза как правило.Поэтому по Big O это будет 0(N)-вставка. Да конечно можно сказать что HashTable не заполнен и тд. Но в Big O всегда выбирают самый хужший вариант.Так же как с поиском и удаление все это 0(N) но в среднем да 0(1).
@ЕрмекРысбеков-ф8ч
@ЕрмекРысбеков-ф8ч Жыл бұрын
Больше видосов по алгоритмам и структурам данных и ещё сними видос где ты решаешь задачи на литкоде с объяснениеми для чайников
@DiIov
@DiIov Жыл бұрын
Донат скинь И в сообщении попроси
@tonybard
@tonybard Жыл бұрын
dict в python это хештаблица с двойным хешированием, сохранение порядка вставки поддерживается особенностями реализации, а не мапой
@имяфамилия-т3ж1ц
@имяфамилия-т3ж1ц Жыл бұрын
Питон лоховской язык
@tonybard
@tonybard Жыл бұрын
@@имяфамилия-т3ж1ц адепты js подъехали
@IccuppWar
@IccuppWar Жыл бұрын
​@@имяфамилия-т3ж1ц😂😂😂 absolution верно
@ArZeroMy
@ArZeroMy 4 ай бұрын
​@@имяфамилия-т3ж1цчто ещё расскажешь?
@mutniytip2000
@mutniytip2000 4 ай бұрын
​@@имяфамилия-т3ж1ц уроки сделал?)
@user-sky000
@user-sky000 Жыл бұрын
Полезно всё, что ты делаешь! Из этого складывается собственная логика и понимание ,как в это влиться🎓🧠👁
@dendeoshor8797
@dendeoshor8797 Жыл бұрын
Невероятный кладезь знаний за 10 минут. Если бы меня спросили как понять такие сложные штуки, то я бы, не думая, ткнул пальцем в канал Winderton. Спасибо, мужчина)
@YanchikDev
@YanchikDev Жыл бұрын
В Python dict был неупорядоченным до версии 3.6, для упорядоченного существовал OrderedDict(). Затем dict стал упорядоченным, при этом он остался хеш-таблицей, в итоге теперь в Python две реализации упорядоченного словаря)
@itnabigator
@itnabigator Жыл бұрын
Да только упорядоченность дерева подразумевает упорядоченность по значению, а OrderedDict это упорядоченность по времени вставки. Иногда бывает полезно и то и другое, но все же упорядоченность по значению более полезная штука. Например если у тебя ордеред сет в виде дерева то ты можешь искать upper/lower bound за логарифмическое время что покрывает очень большой класс задач. Ордеред дикт по факту совмещает две структуры и в этом плане не совсем уже чистая хэшмапа
@hlebusheck_3468
@hlebusheck_3468 Жыл бұрын
Массив быстрее хеш таблицы в случае поиска/замены так как арифметика указателей быстрее хеш функции Но если нужно удалить/добавить элемент то в случае с массивом нужно найти !неприрывную! область в памяти размером {старый массив+новый/новые элементы}, скопировать всё старое и добавить новое и только потом удалить из памяти старый массив весь этот процесс на словах долгих, а не только на деле Хеш таблица же таким не страдает и память выделяется только на новый объект который будет добавлен, а всё старое остаётся на месте Например тот же вектор в с++ частично решает проблему со вставкой, но только в конец и до того момента пока не понадобится амортизация
@staffa_kar_terma
@staffa_kar_terma Жыл бұрын
Привет чумваки, через два месяца упорного бодания рогами в землю, я пробил этот кокон и понял что дойду до конца и все уже стало понятным и логичным. Если вдруг у вас начался кризис обучения и вы хотите бросить, может быть вы прочтете и это придаст вам сил. Не опускай руки, бро!
@staffa_kar_terma
@staffa_kar_terma Жыл бұрын
о кто то поставил лайк, а после нг праздников так и не сел обратно, но всё ещё знаю что могу, новое видео Виндерпуфена смотрю и оно придаёт мотивации. Всем йоу!
@kamenyFX
@kamenyFX 7 ай бұрын
Ну что там? пол года прошло, добился успеха?
@staffa_kar_terma
@staffa_kar_terma 7 ай бұрын
@@kamenyFX все ещё нет, но тут случились обстоятельства после которых приходится работать по 10-12 часов в день. Это серьезно замедляет. Но так будет только до конца месяца. Но я после того как раскидаю долг уже пойду по собесам, такие вот дела.
@kamenyFX
@kamenyFX 7 ай бұрын
@@staffa_kar_terma Харош, удачи
@timoleksii
@timoleksii Жыл бұрын
"А вот С++ .... сделал строки неизменяемыми" - это ошибка.`std::string` имеет изменяемый контент, как и область памяти, на которую указывает `char *`
@cheerwizard21
@cheerwizard21 Жыл бұрын
Думаю он имел ввиду const char*
@nfuture279
@nfuture279 2 ай бұрын
@@cheerwizard21 const делает все что угодно неизменяемым. Имеется ввиду сама структура как таковая, а не использование модификатора. Темболее что CHAR * это вовсе не строка, а указатель типа CHAR
@frivolouselm7529
@frivolouselm7529 Жыл бұрын
Ответ на вопрос в конце ролика. Хэш-таблицы могут быть быстрее массивов в двух случаях: 1. Когда известно только значение которое необходимо найти. В случае массива придется перебирать весь массив в случае с мапой ключом будет являться само значение пропущенное через хэш-функцию. 2. Массив хранит в себе сам объект а мапа указатель на память где лежит объект. Соответственно при условии что объекты могут динамически изменять свой размер массив будет требовать переаллокации памяти и переноса себя в эту память что довольно медленно а мапа нет. Возможно есть еще какие то кейсы но сходу в голову пришли эти.
@Kmiarg
@Kmiarg Жыл бұрын
У классического массива, доступ к памяти, осуществляется как: + * size_of(), Если значение функции size_of() не является константой для данного типа, то создать классический массив, из этих элементов невозможно. Переменные(объекты/структуры) чей размер нельзя определить на этапе компиляции - всегда хранятся в куче. Массив из таких элементов всегда будет массивом из указателей. (Даже если сам массив тоже хранится в куче и доступен по указателю). Поэтому второй ваш пример, мне кажется не состоятельным.
@Vinodel177
@Vinodel177 Жыл бұрын
нет, dict в Python это тоже хеш-мапа, не RB-tree
@snatch-guy
@snatch-guy Жыл бұрын
Спасибо. Отличный ликбез. Хотелось бы послушать про красночерное дерево
@nitroflap
@nitroflap Жыл бұрын
Как говорят мудрецы, если завис с задачей, то брось на нее хеш таблицу и все будет шикарно.
@bipolar-fox
@bipolar-fox Жыл бұрын
А лучше положи на нее хрен😂
@damirckproject2306
@damirckproject2306 Жыл бұрын
Как раз думал, где видосы, как раз дропнул. Тупо сказка перед сном)
@АлександрТрошин-ю7р
@АлександрТрошин-ю7р Жыл бұрын
Требуем адское мессиво на 10 часов по плюсам
@Никс-с6ф
@Никс-с6ф Жыл бұрын
Боже как долго я тебя искал, ты шикарен 😍😍😍 хз кто еще так может информативно рассказывать
@whoammiwho6172
@whoammiwho6172 Жыл бұрын
Восхищаюсь этим человеком. И его смотрят такие же свехнутые люди, кто любит компы и хочет понимать их лучше.😂 А уже потом кодеры.
@senioreasy
@senioreasy Жыл бұрын
В с++ можно так: using namespace std; unordered_map data { {"Ivan",1}, {"John",2} }
@johnboe5584
@johnboe5584 Жыл бұрын
скорее всего на русскоязычном сегменте, ты первый кто будет объяснять это для "чайников". Я только начал учиться, но благо тебе есть "неусталость" обучению. TY❣
@MrAnajan
@MrAnajan Жыл бұрын
Очень полезная инфа. От души. Единственное замечание. Почему вставка и удаление из сбалансированных деревьев - это O(log(n)). Может больше? А как же дополнительные операции на перебалансировку дерева? Так называемые вращения (rotations)
@MaxiGouogle
@MaxiGouogle Жыл бұрын
А потом возникают вопросы: *"Какого хрена такой низкий ФПС?!"* или *"Откуда такие сумасшедшие мин требования?!"* или *"Почему такая УЙНЯ занимает NN гигабайт?!"
@OlgaGavva-qm2dp
@OlgaGavva-qm2dp Жыл бұрын
Вот это контеент!😂🎉 Я присоединяюсь к требованию десятичасового курса по плюсам !❤
@tonybard
@tonybard Жыл бұрын
нужно чуть больше комментариев про O(1), почему не учитывается время вычисления хэш-функции?
@KoMedVed
@KoMedVed Жыл бұрын
Потому что вычисление хэша это константа, а она в нотации большого О не учитывается. Большое О говорит о том, как увеличивается сложность в зависимости от количества данных, поэтому там константа не важна. Действительно, реальная производительность у массива может быть выше на всех операциях при малом размере данных, когда эффект константы больше, чем вклад увеличения сложности.
@tonybard
@tonybard Жыл бұрын
@@KoMedVed только хэш от строки например не константа 🤔в питоне удобно там все хэши заранее вычислены)
@KoMedVed
@KoMedVed Жыл бұрын
@@tonybard Не знаю как в питоне, но в java строки неизменяемые и хэш считается 1 раз - при создании
@tonybard
@tonybard Жыл бұрын
@@KoMedVed также, но в плюсах не так)
@ivan.kulenko
@ivan.kulenko Жыл бұрын
5:35 в питоне это тоже хеш таблица. Для упорядоченной таблицы есть ordereddict.
@madararara
@madararara Жыл бұрын
в С++ строки изменяемые
@dazzline7800
@dazzline7800 Жыл бұрын
Во всех случаях, где больше 1 элемента, хэш таблица быстрее массива
@НикитаИванов-ч1ю4ш
@НикитаИванов-ч1ю4ш Жыл бұрын
при поиске и вставки элементов, это лучше всего сочетается в большом объёме данных или когда тебе по ключу что либо найти надо, вооот...
@timshevchuk4198
@timshevchuk4198 Жыл бұрын
Спасибо за видос. Непонятно, конечно, но очень интересно =)
@Ortskhoev
@Ortskhoev Жыл бұрын
Хорош хорош братан, давай ещё! Можно такого побольше?
@alexfilus
@alexfilus Жыл бұрын
Но ведь часто нужно хранить сортированные данные, для поиска по больше, меньше, ренжам, префиксам. Так что далеко не всё хэшмапа покрывает.
@plathardstuck28
@plathardstuck28 Жыл бұрын
В питоне до 3.7 dict был беспорядочный. В 3.7 его упорядочили (ради оптимизации памяти немного переработали dict, упорядочивание вышло просто полезным плюсом).
@PostLinuxoid
@PostLinuxoid Жыл бұрын
Неизменяемые строки в C++? Расскажите, будьте добры, если я чего-то не знаю...
@MrTim-sz1zx
@MrTim-sz1zx Жыл бұрын
Реально годные видосы, очень быстро и по делу,продолжай так же
@VR2AI
@VR2AI Жыл бұрын
Мне понравилось, интересно смотреть. Но это первое видео в моей жизни которое я замедлял, до 0.75. Речь изначально ускорена?
@balaamster
@balaamster 7 ай бұрын
4:15 В первый момент подумал, что это Гарольд из мема :)
@apestogetherstrong341
@apestogetherstrong341 Жыл бұрын
Я думаю автору видео очень понравится Кложура.
@evkn503
@evkn503 Жыл бұрын
Может чуть помедленней стоит, обдумывать не успеваю что ты рассказываешь) А так спасибо, интересный материал, однозначно лайк
@РексенорРемон
@РексенорРемон Жыл бұрын
зависит от матриала и твоих знаний - я некоторые наборот побыстрее включаю
@msvru
@msvru Жыл бұрын
Интересно, но пока непонятно. Язык на котором пишу (Autoit) знает только про массивы. Ничего лишнего)
@cheerwizard21
@cheerwizard21 Жыл бұрын
Понимание линейних массивов тоже очень важно. Везде где можно скешировать и проитерироваться, очевидно лучше соблюдать линейность, нежели таблицу или слинкованные структуры данних. А вообще, лучше изучать и практиковать разные структуры и самому тоже делать (без использования стандарта std или boost)
@wewq491
@wewq491 Жыл бұрын
Ты лучший, продолжай свои уроки!!!❤❤❤
@someone__someone_1681
@someone__someone_1681 Жыл бұрын
Найс. Как всегда база на языке народа. Красавчик 🎉
@vjl3593
@vjl3593 Жыл бұрын
Блин я прошёл эту тему на курсе Пайтон, то что ты рассказываешь, вообще нифига не понятно, для других программистов со стажем 5 лет может всё ясно. Для новичков всё быстро сумбурно как то. На других канал даже более сложные темы умудряются рассказать, что всё понятно, тут даже такую простую тему с выносом мозга.
@dmitrybalabka8910
@dmitrybalabka8910 Жыл бұрын
Саурон был бы в восторге от массивов в PHP.
@ivan.kulenko
@ivan.kulenko Жыл бұрын
2:22 в плюсах строки изменяемые
@cheerwizard21
@cheerwizard21 Жыл бұрын
В стандарте да. Если использовать std::string. Возможно он имел ввиду const char*
@ivan.kulenko
@ivan.kulenko Жыл бұрын
@@cheerwizard21 Согласен, но, например, char* - тоже строка, и она вполне изменяемая)
@flekderantrow3706
@flekderantrow3706 Жыл бұрын
офигенский материал, супер
@artem-v1q2o
@artem-v1q2o Жыл бұрын
В питоне хэш мама, по крайней мере взятие элемента и проверка делаются за константу точно
@Im_Seth
@Im_Seth Жыл бұрын
ответ на вопрос: при поиске {"one":1,"two":2} искать по ключу "two" будет быстрее чем искать 2 в массиве [1,2]. если я правильно пончл вопрос..
@vechnonedovolen666
@vechnonedovolen666 Жыл бұрын
Уточнение. В c++ строки изменяемые 2:23 .
@fumo3596
@fumo3596 Жыл бұрын
Лучший канал по айти
@Mr.Fix_man
@Mr.Fix_man Жыл бұрын
Шикарный материал 👍👍👍
@alekseikharchenko7246
@alekseikharchenko7246 Жыл бұрын
0:42 ну кто ж берет остаток от деления на 10? Вся эта история гораздо лучше работает в кольцах вычетов, где основание - простое число
@Ilya-kondakov
@Ilya-kondakov Жыл бұрын
а в чем разница...
@alekseikharchenko7246
@alekseikharchenko7246 Жыл бұрын
@@Ilya-kondakov подумал, что возможно в данном случае и не в чем, а мысль в голове просто засела с курса "математические методы защиты информации", где в криптографии связано со сложностью обнаружения
@armantech5926
@armantech5926 Жыл бұрын
C++ string изменяемый.
@vesh95
@vesh95 11 ай бұрын
6:36 С какого это лысого O(1), если нужно пролистать по структуре до попадания на нужный хэш? Мы не адрес всё-таки там храним. Сразу нужно понимать, что структура с абстрактным множеством эл-тов не будет выдавать такие низкие сложности.
@nan1896
@nan1896 7 ай бұрын
хэшмапа это просто массив, где посчитанный хеш является индексом, по которому хранится значение. Поиск в массиве по индексу происходит за О(1).
@oxidant5
@oxidant5 Жыл бұрын
dict в python реализован с помощью хэш-таблицы, а не дерева
@mgkf1956
@mgkf1956 Жыл бұрын
гений на челе смог мне объяснить мне принцип работы этой структуры... прошел универ, но так и не понимал, как работают словари и причем тут хеш)) спасибо
@VL4STEL1N
@VL4STEL1N Жыл бұрын
Годный контент 🎉
@BoryslavMalishevskyi-j2x
@BoryslavMalishevskyi-j2x Жыл бұрын
Э, в смысле Удзумаки 10, там все 100 должно быть! А видео четкое:)
@loveevangelik3797
@loveevangelik3797 Жыл бұрын
бомба бро, супер базированная база, мб попробую использовать вместо векторов
@d4e220
@d4e220 Жыл бұрын
Отлично рассказываешь, думаю нужно больше такого контента)
@el.k9776
@el.k9776 Жыл бұрын
Lua: смотрите, как они извращаются, чтобы достичь 1% моей силы!
@chatterbox1670
@chatterbox1670 Жыл бұрын
Вы как то говорили про обучение? Где можно посмотреть информацию об этом??
@NoName-kv9je
@NoName-kv9je Жыл бұрын
чел просто подогрел аудиторию и дал ссылки на рефы 🤡🤡🤡🤡🤡💩💩💩💩. А если серьезно, то ничего плохого в этом нет. Но инфа по-любому полезная. Спасибо
@colonka
@colonka Жыл бұрын
Написал недавно мапу, сет и мультисет шаблонные) почему я не посмотрел это видео до?)
@JurgenRuttenstorfer
@JurgenRuttenstorfer Жыл бұрын
Все круто, но Juniorу работу хрен найдёшь. А так да, объявления есть 🙂
@Baha996
@Baha996 Жыл бұрын
В python dict реализован с использованием структуры данных hash table
@aceracer5556
@aceracer5556 Жыл бұрын
JS бы еще в примеры добавить...
@hardline_fc
@hardline_fc Жыл бұрын
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.
@РексенорРемон
@РексенорРемон Жыл бұрын
Контент годный, объяснение самобытное, чёткое, понятное. Вообще канал классный. А вот запомоиться об остопи3девшую всему интернету Скулль-FUСК-тори - это позор. Лучше бы казино какое рекламировал, чем этих вонючих лохотронщиков (они сами признались, что львиная доля бюджета у них идёт на рекламу - скупили почти всех блогеров-проституток - даже Гоблин не устоял, продал свою жопку и честное имя за пачку баксов).
@ЛукаКох
@ЛукаКох Жыл бұрын
👍🏻👍🏻👍🏻👍🏻в поддержку, пока не учу плюсы, но попал в реки и в будущем буду смотреть твои видосы. Лайк, подписка)
@bambalbino
@bambalbino Жыл бұрын
Спасибо. Нравится, что без воды.
@Z_Z.t
@Z_Z.t Жыл бұрын
Никогда не любил хеш функции, чёрт его знает сколько там будет коллизий. Для меня указатели всегда были надёжне- error: memory access violation: core dumped. (хоть и за указателями надо следить)
@Kalin_cheetah
@Kalin_cheetah Жыл бұрын
А как тогда представить строку, которая будет ключем в виде индекса в вашем примере? Ее ведь нужно пропустить через хэш-функцию. Ну если указтаели используете, то придется все равно сделать что-то типа *(arr + index)
@Z_Z.t
@Z_Z.t Жыл бұрын
@@Kalin_cheetah для этого есть ещё одно дерево, но я забыл как оно называется (чото там то ли постфиксное, то ли префиксное, то ли суффиксное дерево)
@torburgmax
@torburgmax Жыл бұрын
да можно и на ассемблере все писать)
@Z_Z.t
@Z_Z.t Жыл бұрын
@@torburgmax вопрос был вообще не про ассемблер, а про структуры данных. Просто у Си эта ошибка хотябы видна, а если использовать массив с индексами вместо указателей, то этой ошибки не будет, у тебя просто программа будет медленно но верно сыпаться без ошибок.
@torburgmax
@torburgmax Жыл бұрын
@@Z_Z.t какой вопрос?) я имею в виду, что нужно просто выбирать подходящий метод решения проблемы, и мне странно видеть фразы вроде "я не люблю хеш-функции". поэтому и предложил бантики перекладывать напрямую, чтобы все максимально контролировать)
@sunofabeach9424
@sunofabeach9424 Жыл бұрын
вот уж что-что, а таблицы стоило бы на Lua объяснять
@native-nature-video
@native-nature-video Жыл бұрын
8:52 - ни добавить, ни убавить. Квинтесенция.
@nikipinki6554
@nikipinki6554 Жыл бұрын
с недавнего питона словарь у него стал упорядоченным
@АлексейКонев-ц4ц
@АлексейКонев-ц4ц Жыл бұрын
Если грубо переложить на русский unorder set= aн' оодэд cэт или эн' оодэд сет. Видишь, Р отсутствует. Не надо благодарности, это в качестве бл. за твой контент :) Я вижу старание есть, но мисс прононс всетаки есть. По береги наши уши плз :)
@wndtn
@wndtn Жыл бұрын
Гениально
@afrobandera1221
@afrobandera1221 Жыл бұрын
"абстрактные типЫ данных..." 🙂
@G-Rizzard
@G-Rizzard Жыл бұрын
Спасибо!
@muchasgracias7761
@muchasgracias7761 Жыл бұрын
1:33 1:35 1:35 1:36 1:36 1:37 1:37 1:38 1:39 1:39 1:40 1:40 1:40
@darkorb9910
@darkorb9910 Жыл бұрын
Бро, где обещаенные уроки по С++ ?
@klesslol5229
@klesslol5229 Жыл бұрын
Я думал, что функция вычисления индекса будет посложнее: hash & (bucket_amount - 1). Или так для упрощения видоса просто слелали?
@wafemand
@wafemand Жыл бұрын
Это просто оптимизация. Чтобы не вычислять каждый раз остаток от деления (а это довольно тяжёлая операция), делают размер массива равный степени двойки. Тогда остаток от деления будет такой же как в вашей формуле, а битовые операции значительно быстрее вычисления остатка. Но для понимания работы хеш таблицы эта формула не нужна.
@setSatoshi
@setSatoshi Жыл бұрын
Медленно говоришь, можно еще быстрее?
@torburgmax
@torburgmax Жыл бұрын
достаточно важный момент для понимания упущен, который объясняет, почему поиск элемента константен по времени. речь про сведение хэша к индексу итогового массива
@СергейХотеев-м7ъ
@СергейХотеев-м7ъ Жыл бұрын
А у Вас есть видео про GUI ??
@chpp9449
@chpp9449 Жыл бұрын
Как это строки в плюсах неизменяемые
@9nr
@9nr Жыл бұрын
dict стал ordered начиная с python 3.7, до этого был unordered
@SerjCrimea
@SerjCrimea Жыл бұрын
Вот вы говорите что в Хеш таблицах переход происходит по индексу? Если массив с Int индексами, то теоретически переход происходит к элементу методом умножения к адресу, где непрерывно находятся данные. Но если Хеш это некая сумма элементов (символов) то как происходит "мгновенный" переход? :) Ведь всё в итоге компилится в ассемблер и код. И как бы не очень понятно как без "тупого" перебора таких хеш индексов происходит поиск нужных данных? Или я что-то пропустил? ;)
@wumi2419
@wumi2419 Жыл бұрын
Задача в том, чтобы найти индекс по значению. Поиск перебором это простой проход по массиву/списку и сравнение каждого элемента О(N). Очевидно, это не касается деревьев и сортированных массивов (где есть бинарный поиск), O(log n). В хэш-таблице индекс получается из значения вызовом хэш-функции. Соответственно проверяется малое количество элементов (те, у которых совпало значение хэш-функции), O(1).
@Евгений1-с8э
@Евгений1-с8э Жыл бұрын
А почему комментариев нет? Давайте поддержите молодого программиста
@Dmitrii-Zhinzhilov
@Dmitrii-Zhinzhilov Жыл бұрын
Только благодарность!
@olgafedyanova
@olgafedyanova Жыл бұрын
А есть видео, где вы рассказываете о том как перешли от джава к с++?
@How_is-x5b
@How_is-x5b Жыл бұрын
Полезный контент, автор достойно доступным языком всё разжевал👍
@nevtykai
@nevtykai Жыл бұрын
Жду ролик на 10 часов по плюсам
@maratchose
@maratchose Жыл бұрын
ребят, подскажите, стоит ли учить Php или Python для Бэк-Энда?
@hpntic
@hpntic Жыл бұрын
питухон
@IvanIvanov-m2c
@IvanIvanov-m2c Жыл бұрын
а что скажешь про разоблачения от black sun?
@Viertez
@Viertez Жыл бұрын
Можешь дать какие-то статьи или видео, а не книжки, пожалуйста
@aboudkar
@aboudkar Жыл бұрын
С какого перепуга строки в плюсах неизменяемые? Всегда во всех стандартах они были mutable. string_view immutable но это только 17 стандарт и не строка это вовсе а view.
@glebklymenko8975
@glebklymenko8975 Жыл бұрын
йо, очень крутой видос! хотелось бы послушать про деревья и алгоритмы к ним
@iarde3422
@iarde3422 Жыл бұрын
А чё пример hashа, в perlе не показал? Тем более, что в нём это было изначально и раньше других языков стало использоваться им пользоваться использоваться!
@Sleader
@Sleader Жыл бұрын
было очень интересно
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
6 важных структур данных
17:25
S0ER
Рет қаралды 94 М.
СПИДРАН ВСЕГО Comp Scie
20:48
Winderton
Рет қаралды 344 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН