Структуры данных в JavaScript | Odessa Frontend Meetup #13

Ғылым және технология

Алгоритмы и структуры данных - это фундаментальные основы в программировании. Но, при изучении JavaScript, на это не хватает времени. Прогрессивные фрейморки высокоуровнего языка богаты функциональностью и оптимизацией, но достаточно ли этого? Николай Громов рассказывает как он понял, что алгоритмы никуда не ушли и почему понадобились структуры данных, а так же сравнивает их производительность на JavaScript.
Слайды - www.slideshare.net/odessafron...
Поддежка - ab-soft.net/
OdessaFrontend - odessafrontend.com
#odessafrontend #cтруктурыданных #js

Пікірлер: 63

  • @sergeydev8273
    @sergeydev82734 жыл бұрын

    Докладчик помпезный! Все сходу улавливается

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    Это ужасно

  • @dmitrijponkin
    @dmitrijponkin4 жыл бұрын

    Обалденный доклад! Спасибо :))

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    Плохой доклад, это ужасно

  • @dispeltr1183
    @dispeltr11832 жыл бұрын

    Годный доклад за слайды и ссылки отдельный респект!

  • @669pain
    @669pain4 ай бұрын

    Шикарный доклад! Спасибо!

  • @kamol8861
    @kamol8861 Жыл бұрын

    Понял смысл структур данных, оч хороший докладчик

  • @stanislavk9430
    @stanislavk9430 Жыл бұрын

    console.log(`Hello ${vivas[user.group]}!`); вместо console.log(`Hello ${user.group}!`); как написано на слайде 14:46

  • @user-xz4ko6dk5p
    @user-xz4ko6dk5p3 жыл бұрын

    Очень понравился доклад. Было пару моментов, где слишком быстро проскочили про бинарные деревья, но из-за ограничения по времени нельзя придраться к этому

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    Это ужасно, придраться можно к многому

  • @user-vv4sd1zr3s
    @user-vv4sd1zr3s3 жыл бұрын

    Офигенный докладчик и сам доклад. На многих собесах трясут по алгоритмам, так что нужно их изучать

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    Обычное заблуждение, докладчик не компетентный

  • @constantin8016

    @constantin8016

    Жыл бұрын

    @@ruslanvolovik2745 ну, ты то точно спец))

  • @ruslanvolovik2745

    @ruslanvolovik2745

    Жыл бұрын

    @@constantin8016 было с чем сравнивать, не с пустого места..

  • @constantin8016

    @constantin8016

    Жыл бұрын

    @@ruslanvolovik2745 странно..но здесь 50% от всех комментариев твои..и все с притензиями или негатив))

  • @ruslanvolovik2745

    @ruslanvolovik2745

    Жыл бұрын

    @@constantin8016 так и есть, я не согласен с автором данного вида, так как есть расхождение

  • @jelooJusta
    @jelooJusta4 жыл бұрын

    find - это не только jquery :)

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

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

  • @quterma
    @quterma3 жыл бұрын

    отлично!!

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    Ужасно

  • @Epic0n
    @Epic0n3 жыл бұрын

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

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    Для таких целей лучше использовать конечный автомат

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Методы решения колизий - самые популярные способы решения: это открытая адресация и метод цепочек Если написать аrray[1000] а пустые значения, но все же это константное время

  • @THE_CUBE__
    @THE_CUBE__11 ай бұрын

    Очень круто!

  • @realprogger
    @realprogger3 жыл бұрын

    не понял на 15:00

  • @denisgromov3137
    @denisgromov31374 жыл бұрын

    Подскажите, почему Николай назвал object, map и set как hash map? Почему именно так, а не ассоциативным массивом?

  • @ruslanvolovik2745

    @ruslanvolovik2745

    4 жыл бұрын

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

  • @Erudite.

    @Erudite.

    3 жыл бұрын

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

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Почему списки это не часто используемые вещи? Так как стек, очередь построена именно на них - точнее можно создать

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    На самом деле использование if else замедляет испонение кода - устройство процессора ответ

  • @Kolabrod
    @Kolabrod3 жыл бұрын

    Тайм код бы

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Алгоритмы строяться при помощи структур данных, а структуры при помощи алгоритмов. Вот почему это нераздельные вещи

  • @user-bu3hz5be5w
    @user-bu3hz5be5w4 жыл бұрын

    Он сказал Bisoft или Ubisoft? Если второе, то у меня один вопрос: когда починят chash в rainbow 6???

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    А почему оценки по памяти не было и их разновидности. Оценка по времени это T(n), а не O(n) это совершенно разные вещи, О(n) показывает суммарное количество инструкций процессора - итераций например, для его полного оканчания. Почему не упоминалась тетта, омега? T(n) описывает не полностью алгоритм, а только его часть - например итерации в сортировках. То что оно делает воовщем. Не нужно в этот момент учитывать "левые" инструкции, например присвоение, инкремент, сложение и т.д

  • @oOIMAXIOo
    @oOIMAXIOo3 жыл бұрын

    22:34 в смысле find это jQuery?) [1, 2, 3, 4, 5].find(num => num === 3)

  • @dev_insider

    @dev_insider

    3 жыл бұрын

    это ROFL

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Константная сложность это не совсем одна операция потому что на уровне языка это возможно одна, но и может и две - смотря какие. На уровне процессора, самого языка тоже есть особенности и это явно не одна. Нужно уточнять, это не правильно

  • @ashesto1
    @ashesto12 жыл бұрын

    Что то руслана в комментах порвало)

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    Бывает, человек не компетентный

  • @GLUCKKKKKKKKKK
    @GLUCKKKKKKKKKK Жыл бұрын

    Ебейший доклад;)

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Некоторые задачи не решаються проще чем експотенциальная сложность. Это на самом деле применимо

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Рассказали бы про биг о как-то по другому, а не как все потому что все одно и тоже. Почему например не дать определение как верхняя граница при бесконечно увеличиваемом аргументе(длинна массива)

  • @propro3053
    @propro3053 Жыл бұрын

    Якщо хочете детально вивчити системи даних тоді користуйтеся іноземними ресурсами, в країнах СНГ інформація надто поверхнева

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Стэк, очередь - линейные структуры, стаканчик же и так понятно

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Очевидно что не на спайдерманки, все знают что на в8

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Чтобы скласть пазл, можно и за 3 действия - если 1 уже фиксировый, но так и есть

  • @strpasha
    @strpasha3 жыл бұрын

    Про хештейбл всё не правильно объяснил.

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    Естественно

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    А О(nlogn) это по сути не "цикл в цикле"

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    @@Maksim-nu8hb слушал как было на самом деле, время скинь

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    В видно рассказываеться про бинарное дерево поиска а не бинарного дерева

  • @ilikecola378
    @ilikecola37810 ай бұрын

    Странный доклад, много всего очевидного, многие реализации как он и сам сказал сделаны на коленке.

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Не по парадигмам учебник, а курс мат анализа первый курс института. Если это закроешь, то допка -> комисия -> ... Учебник конечно же проще закрыть

  • @user-ts3vm6pl4i
    @user-ts3vm6pl4i Жыл бұрын

    Вай, как плохо :( Плахой докладчик, а тема - хароший.

  • @__kawaii

    @__kawaii

    11 ай бұрын

    Что не так?

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Если человек не знает как минимум структуры данных то его точно не нужно брать - это очевидные вещи. Все просто он знает 20 фреймворков, особенно из фронтенда - потому что он знает что за их и красивое резюме заплатят деньги, зачем мне учить тупые алгоритмы и структуры если им 1000 лет в обед

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Зачем задавать такие тупые вопросы?

  • @bkhtrv

    @bkhtrv

    2 жыл бұрын

    так это ж ты спрашиваешь, сам себе и ответь

  • @ruslanvolovik2745

    @ruslanvolovik2745

    2 жыл бұрын

    @@bkhtrv это не тупые вопросы, это ошибки и заблуждения докладчика

  • @ruslanvolovik2745
    @ruslanvolovik27454 жыл бұрын

    Какие же тупые примеры, почету не показать реальные примеры - ты же сеньйор, а не трейни

Келесі