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

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

Timur Shemsedinov

Timur Shemsedinov

5 жыл бұрын

Списки: github.com/HowProgrammingWork...
Очереди: github.com/HowProgrammingWork...
Курс «100 лекций по программированию» habr.com/post/427799/
#список #очередь #javascript #стек #дэк #лекции #кпи #js

Пікірлер: 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 3 жыл бұрын
Спасибо за такие фундаментальные знания
@astkh4381
@astkh4381 7 ай бұрын
Спасибо за видео
@timashoff
@timashoff Жыл бұрын
Спасибо!
@pavlezt
@pavlezt 5 жыл бұрын
В 6 примере (doubly-proto) если уже в методе pop и заниматься очищением ссылок то думаю правильно еще было добавить this.last.next = null так как список двосвязный, и тот элемент что попнули никуда не ссылаеться но он еще будет в памяти так как на него ссылка живая в предидущем элементе (новом this.last)
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Спасибо! Можете сделать пул-реквест сюда, github.com/HowProgrammingWorks/LinkedList/blob/master/JavaScript/6-doubly-proto.js
@jamjam3337
@jamjam3337 Жыл бұрын
💥👍
@user-wz9qg9jw2v
@user-wz9qg9jw2v 2 жыл бұрын
Сильно конечно...давно искал такие глубокие темы. Это конечно лучше из книг узнавать, но для начала огонь когда времени нет но очень хочется)))) Вы как-то про webassembly говорили. Может покажете/расскажете как под капотом JS память выделяет или как environment в функциях создается и работает. Или может подскажете где вообще такую глубь можно почитать/найти/посмотреть. Очень хочется, но что-то не получается найти(может так и искал)
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Книгу готовим
@markrotko7123
@markrotko7123 3 жыл бұрын
Здравствуйте, подскажите а почему у Вас списки реализованы так, что каждая нода ссылается на предыдущую а не на следуюущую (next), в этом есть какой-то нюанс? Спасибо
@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
@TyrboCreed
@TyrboCreed Жыл бұрын
30:20 Stack - LIFO (Last-In, First-Out) Queue - FIFO (First-In, First-Out)
@ezizkurbannazarov5680
@ezizkurbannazarov5680 5 жыл бұрын
Здравствуйте , как с вами можно связаться?
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Мои контакты есть на гитхабе и хабре
@DimitarRad
@DimitarRad 2 жыл бұрын
Тяжковато даются примеры, в которых присутствует рекурсия. Может посоветует кто серебряную пулю?)
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Что-то я не чувствую, в чем может быть сложность их понимания, это очень просто, посмотри примеры кода в github.com/HowProgrammingWorks/Recursion и там отдельная лекция есть по рекурсии
@user-tk9vq6uo4s
@user-tk9vq6uo4s 3 жыл бұрын
на 7:20 "Этот код должен прогреться", подскажите, пожалуйста, что это значит
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
откомпилироваться в байткод и в машинный код, исполниться и после сбора статистики о приходящих в код типах, можно оптимизировать машинный код, убрав из него лишние проверки типов и преобразования данных
@user-tk9vq6uo4s
@user-tk9vq6uo4s 3 жыл бұрын
​@@TimurShemsedinov спасибо за ответ и за вашу отличную работу!
@bodfxua7698
@bodfxua7698 Жыл бұрын
в 4-single-class не можу зрозуміти чому елемент який пушиться останім, в списку він перший, якщо за консолити?????
@user-sz8pz2ow8d
@user-sz8pz2ow8d 3 жыл бұрын
Видно что специалист высочайшего уровня, но слушать довольно сложно
@mrerberg
@mrerberg 2 жыл бұрын
21:07 "null" - это ссылочный тип данных. Мой мир на секунду перевернулся. Null в js же примитив, разве нет?
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Null совместим с объектами, а undefined с примитивами
@mrerberg
@mrerberg 2 жыл бұрын
@@TimurShemsedinov большое спасибо за лекции и потрясающие материалы. С этого следовало начать сообщение. Что вы имеете в виду под совместимостью?
@user-yu7gm4df3f
@user-yu7gm4df3f 3 жыл бұрын
сложно в понимании .
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Так и должно быть
@v.demchenko
@v.demchenko Жыл бұрын
использую редактор, нахрена консоль... боже мой... хакер
@Antonio-fm1sq
@Antonio-fm1sq 2 жыл бұрын
Спасибо!
Композиция функций (pipe, compose) в JavaScript
21:29
Timur Shemsedinov
Рет қаралды 8 М.
Osman Kalyoncu Sonu Üzücü Saddest Videos Dream Engine 170 #shorts
00:27
1 or 2?🐄
00:12
Kan Andrey
Рет қаралды 28 МЛН
ИРИНА КАЙРАТОВНА - АЙДАХАР (БЕКА) [MV]
02:51
ГОСТ ENTERTAINMENT
Рет қаралды 7 МЛН
Итерирование, циклы и итераторы в JavaScript
44:13
Proxy и Symbol в JavaScript
48:29
Timur Shemsedinov
Рет қаралды 10 М.
Типизированные массивы в JavaScript
39:43
Timur Shemsedinov
Рет қаралды 8 М.
Коллекции, множества, хештаблицы в JavaScript
50:42
6 важных структур данных
17:25
S0ER
Рет қаралды 89 М.
Osman Kalyoncu Sonu Üzücü Saddest Videos Dream Engine 170 #shorts
00:27