Структуры данных: списки, стек, очередь, дэк в JavaScript

  Рет қаралды 15,925

Timur Shemsedinov

Timur Shemsedinov

Күн бұрын

Пікірлер: 32
@TimurSevimli
@TimurSevimli Жыл бұрын
Еще одна лекция которая после просмотра ощущение => 🤯 | Спасибо вам Тимур Гафарович!
@anatolykobzisty9827
@anatolykobzisty9827 5 жыл бұрын
00:00:00 Идея структуры данных Списки ( list ) 00:02:27 Списки на прототипах ( абстракция элемента ) 00:06:23 Списки на объектах 00:07:28 Списки на замыканиях 00:10:56 Списки на объектах ( абстракция элемента и списка ) 00:18:22 Списки на классах Стек ( stack ) 00:21:08 Стек на прототипах ( двух-связанный) 00:28:17 Стек на классах (односвязный) Очередь ( queue ) 00:29:55 Очередь Дэк (double ended queue ) 00:34:26 Дэк
@ruslanaskarov5393
@ruslanaskarov5393 4 жыл бұрын
Спасибо за такие фундаментальные знания
@astkh4381
@astkh4381 Жыл бұрын
Спасибо за видео
@Antonio-fm1sq
@Antonio-fm1sq 3 жыл бұрын
Спасибо!
@jamjam3337
@jamjam3337 Жыл бұрын
💥👍
@TyrboCreed
@TyrboCreed Жыл бұрын
30:20 Stack - LIFO (Last-In, First-Out) Queue - FIFO (First-In, First-Out)
@pavlezt
@pavlezt 6 жыл бұрын
В 6 примере (doubly-proto) если уже в методе pop и заниматься очищением ссылок то думаю правильно еще было добавить this.last.next = null так как список двосвязный, и тот элемент что попнули никуда не ссылаеться но он еще будет в памяти так как на него ссылка живая в предидущем элементе (новом this.last)
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
Спасибо! Можете сделать пул-реквест сюда, github.com/HowProgrammingWorks/LinkedList/blob/master/JavaScript/6-doubly-proto.js
@СтройС-я9о
@СтройС-я9о 2 жыл бұрын
Сильно конечно...давно искал такие глубокие темы. Это конечно лучше из книг узнавать, но для начала огонь когда времени нет но очень хочется)))) Вы как-то про webassembly говорили. Может покажете/расскажете как под капотом JS память выделяет или как environment в функциях создается и работает. Или может подскажете где вообще такую глубь можно почитать/найти/посмотреть. Очень хочется, но что-то не получается найти(может так и искал)
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Книгу готовим
@bodfxua7698
@bodfxua7698 Жыл бұрын
в 4-single-class не можу зрозуміти чому елемент який пушиться останім, в списку він перший, якщо за консолити?????
@DimitarRad
@DimitarRad 2 жыл бұрын
Тяжковато даются примеры, в которых присутствует рекурсия. Может посоветует кто серебряную пулю?)
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Что-то я не чувствую, в чем может быть сложность их понимания, это очень просто, посмотри примеры кода в github.com/HowProgrammingWorks/Recursion и там отдельная лекция есть по рекурсии
@dromix_ai
@dromix_ai 2 жыл бұрын
Спасибо за видео, у меня один вопрос по Queue, dequeue. По-идее, в javascript массивы реализованы таким способом, что если удаляем первый элемент или меняем размер массива, то это пересоздает полностью массив и заново формирует память, таким образом, реализация queue на массивах выйдет в O(n), но если сделать через double-linked-list, то будет O(1). Как в javascript происходит этот нюанс с памятью у массивов, если меняется их размер ?
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Array в JavaScript это не массив, а список и работает он как dequeue, но имеет обращение к элементам в стиле массива. Питоновский аналог list
@dromix_ai
@dromix_ai 2 жыл бұрын
@@TimurShemsedinov Вот это глаза, конешно, мне открыли. Но пока в голове не укладывается, как это должно храниться в памяти, если array это dequeue, т.е в каждой ячейке памяти есть ссылку на следующую ячейку и при этом иметь доступ к конкретному элементу по индексу arr[123] со сложностью O(1), я полагал, что array это array и выделяется память под ряд ячеек, с условным адрессом A100: A200
@markrotko7123
@markrotko7123 4 жыл бұрын
Здравствуйте, подскажите а почему у Вас списки реализованы так, что каждая нода ссылается на предыдущую а не на следуюущую (next), в этом есть какой-то нюанс? Спасибо
@ПавелКоновалов-х6я
@ПавелКоновалов-х6я 4 жыл бұрын
на 7:20 "Этот код должен прогреться", подскажите, пожалуйста, что это значит
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
откомпилироваться в байткод и в машинный код, исполниться и после сбора статистики о приходящих в код типах, можно оптимизировать машинный код, убрав из него лишние проверки типов и преобразования данных
@ПавелКоновалов-х6я
@ПавелКоновалов-х6я 4 жыл бұрын
​@@TimurShemsedinov спасибо за ответ и за вашу отличную работу!
@ezizkurbannazarov5680
@ezizkurbannazarov5680 6 жыл бұрын
Здравствуйте , как с вами можно связаться?
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
Мои контакты есть на гитхабе и хабре
@mrerberg
@mrerberg 2 жыл бұрын
21:07 "null" - это ссылочный тип данных. Мой мир на секунду перевернулся. Null в js же примитив, разве нет?
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Null совместим с объектами, а undefined с примитивами
@mrerberg
@mrerberg 2 жыл бұрын
@@TimurShemsedinov большое спасибо за лекции и потрясающие материалы. С этого следовало начать сообщение. Что вы имеете в виду под совместимостью?
@КонстантинРоман-н7п
@КонстантинРоман-н7п 3 жыл бұрын
Видно что специалист высочайшего уровня, но слушать довольно сложно
@ИванПетров-б8в6щ
@ИванПетров-б8в6щ 3 жыл бұрын
сложно в понимании .
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Так и должно быть
@v.demchenko
@v.demchenko 2 жыл бұрын
использую редактор, нахрена консоль... боже мой... хакер
@timashoff
@timashoff Жыл бұрын
Спасибо!
Чистка воды совком от денег
00:32
FD Vasya
Рет қаралды 4,7 МЛН
Players push long pins through a cardboard box attempting to pop the balloon!
00:31
Учимся использовать стек и очередь в JavaScript
28:13
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 11 М.
Proxy и Symbol в JavaScript
48:29
Timur Shemsedinov
Рет қаралды 10 М.
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 1,4 МЛН
Структуры данных в JavaScript | Odessa Frontend Meetup #13
43:08
Odesa Frontend Community
Рет қаралды 24 М.
Linked List. Data Structures | Implementation in JS
35:49
Front-end Science із Сергієм Пузанковим
Рет қаралды 31 М.