Еще одна лекция которая после просмотра ощущение => 🤯 | Спасибо вам Тимур Гафарович!
@anatolykobzisty98275 жыл бұрын
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 Дэк
В 6 примере (doubly-proto) если уже в методе pop и заниматься очищением ссылок то думаю правильно еще было добавить this.last.next = null так как список двосвязный, и тот элемент что попнули никуда не ссылаеться но он еще будет в памяти так как на него ссылка живая в предидущем элементе (новом this.last)
@TimurShemsedinov6 жыл бұрын
Спасибо! Можете сделать пул-реквест сюда, github.com/HowProgrammingWorks/LinkedList/blob/master/JavaScript/6-doubly-proto.js
@СтройС-я9о2 жыл бұрын
Сильно конечно...давно искал такие глубокие темы. Это конечно лучше из книг узнавать, но для начала огонь когда времени нет но очень хочется)))) Вы как-то про webassembly говорили. Может покажете/расскажете как под капотом JS память выделяет или как environment в функциях создается и работает. Или может подскажете где вообще такую глубь можно почитать/найти/посмотреть. Очень хочется, но что-то не получается найти(может так и искал)
@TimurShemsedinov2 жыл бұрын
Книгу готовим
@bodfxua7698 Жыл бұрын
в 4-single-class не можу зрозуміти чому елемент який пушиться останім, в списку він перший, якщо за консолити?????
@DimitarRad2 жыл бұрын
Тяжковато даются примеры, в которых присутствует рекурсия. Может посоветует кто серебряную пулю?)
@TimurShemsedinov2 жыл бұрын
Что-то я не чувствую, в чем может быть сложность их понимания, это очень просто, посмотри примеры кода в github.com/HowProgrammingWorks/Recursion и там отдельная лекция есть по рекурсии
@dromix_ai2 жыл бұрын
Спасибо за видео, у меня один вопрос по Queue, dequeue. По-идее, в javascript массивы реализованы таким способом, что если удаляем первый элемент или меняем размер массива, то это пересоздает полностью массив и заново формирует память, таким образом, реализация queue на массивах выйдет в O(n), но если сделать через double-linked-list, то будет O(1). Как в javascript происходит этот нюанс с памятью у массивов, если меняется их размер ?
@TimurShemsedinov2 жыл бұрын
Array в JavaScript это не массив, а список и работает он как dequeue, но имеет обращение к элементам в стиле массива. Питоновский аналог list
@dromix_ai2 жыл бұрын
@@TimurShemsedinov Вот это глаза, конешно, мне открыли. Но пока в голове не укладывается, как это должно храниться в памяти, если array это dequeue, т.е в каждой ячейке памяти есть ссылку на следующую ячейку и при этом иметь доступ к конкретному элементу по индексу arr[123] со сложностью O(1), я полагал, что array это array и выделяется память под ряд ячеек, с условным адрессом A100: A200
@markrotko71234 жыл бұрын
Здравствуйте, подскажите а почему у Вас списки реализованы так, что каждая нода ссылается на предыдущую а не на следуюущую (next), в этом есть какой-то нюанс? Спасибо
@ПавелКоновалов-х6я4 жыл бұрын
на 7:20 "Этот код должен прогреться", подскажите, пожалуйста, что это значит
@TimurShemsedinov4 жыл бұрын
откомпилироваться в байткод и в машинный код, исполниться и после сбора статистики о приходящих в код типах, можно оптимизировать машинный код, убрав из него лишние проверки типов и преобразования данных
@ПавелКоновалов-х6я4 жыл бұрын
@@TimurShemsedinov спасибо за ответ и за вашу отличную работу!
@ezizkurbannazarov56806 жыл бұрын
Здравствуйте , как с вами можно связаться?
@TimurShemsedinov6 жыл бұрын
Мои контакты есть на гитхабе и хабре
@mrerberg2 жыл бұрын
21:07 "null" - это ссылочный тип данных. Мой мир на секунду перевернулся. Null в js же примитив, разве нет?
@TimurShemsedinov2 жыл бұрын
Null совместим с объектами, а undefined с примитивами
@mrerberg2 жыл бұрын
@@TimurShemsedinov большое спасибо за лекции и потрясающие материалы. С этого следовало начать сообщение. Что вы имеете в виду под совместимостью?
@КонстантинРоман-н7п3 жыл бұрын
Видно что специалист высочайшего уровня, но слушать довольно сложно
@ИванПетров-б8в6щ3 жыл бұрын
сложно в понимании .
@TimurShemsedinov3 жыл бұрын
Так и должно быть
@v.demchenko2 жыл бұрын
использую редактор, нахрена консоль... боже мой... хакер