Встроенные структуры данных в JavaScript
Через призму Большого О
Какие простые и быстрые действия мы делаем с массивом и объектами. Какой метод может быть медленнее, чем мы ожидаем... давайте углубимся в тему, как будут работать массивы и объекты.
Теперь, когда мы рассмотрели Big O
Давайте потратим пару минут на анализ того, что мы постоянно делаем в JS: работаем с массивами, объектами и встроенными методами.
ЦЕЛИ
- Понять, как работают объекты и массивы, через призму Big O
- Объясните, почему добавление элементов в начало массива требует больших затрат.
- Сравните и сопоставьте среду выполнения для массивов и объектов, а также встроенных методов.
ОБЪЕКТЫ
- Давайте начнем с разговора об объектах, рассказывая о них через призму Большого О и перформанса.
- Надеюсь, вы знакомы с Big O, если не проблема, вы можете узнать здесь
3. Объекты представляют собой неупорядоченные структуры данных, и все хранится в парах ключ/значение.
Когда использовать объекты
- Объекты хорошо работают, когда вам не нужен порядок.
- Когда вам нужен быстрый доступ/вставка и удаление
- Когда вам не нужен порядок, объекты - отличный выбор
Большой O объектов
Вставка — О(1)
Удаление — О(1)
Поиск — O(N)
Доступ — О(1)
Большое О методов объектов
Объект.ключи — O(N)
Object.values — O(N)
Object.entries — O(N)
hasOwnProperty — О (1)
МАССИВЫ
Давайте поговорим о массивах, как они соотносятся с объектами. Если вы не знакомы с массивами. сначала идите и узнайте о массивах, это очень полезная и простая концепция.
- Массивы — это упорядоченные списки
Когда использовать массивы
- Когда нужен порядок
- Когда вам нужен быстрый доступ/вставка и удаление
Большое O массивов
Вставка — это зависит..
Вставка в массивы зависит от того, как вы вставляете данные в массив, вы можете вставлять данные с начала массива или с конца массива, используя shift и push . Однажды вы сделали так, что нам нужно переиндексировать каждый элемент в массиве. Итак, это зависит от того, как вы решите вставить
Удаление — это зависит..
Удаление в массивах зависит от того, как вы удаляете значение из массива, используя pop или unshift. Однажды вы сделали так, что нам нужно переиндексировать каждый элемент в массиве. Итак, это зависит от того, какой способ вы выберете для удаления.
Поиск — O(N)
Доступ — О(1)
Большое О операций с массивами
нажать — О(1)
поп - O (1)
сдвиг — О(Н)
снять сдвиг — O(N)
конкат — O(N)
срез — O(N)
сращивание — O(N)
сортировка — O(N * log N)
forEach/карта/фильтр/уменьшить/и т.д. -НА)
Объекты сравнения/массивы
Объекты работают очень быстро, когда вы не беспокоитесь о порядке. Массивы хороши, когда вы избегаете операций сдвига и возврата. в остальном оба супер крутые.
Спасибо за ваше время, я очень рад за вас, вы узнали классные вещи об объектах и массивах. Любые исправления или предложения или улучшения, не стесняйтесь комментировать.