Временная сложность объектов и массивов — JS Algo 02

Давайте посмотрим на большую временную сложность объектов и методов массива.

1. Объекты — Большой О

const wizard = {
    firstName : 'Harry'
    lastName: 'Potter',
    school: 'hogwarts'
}
  1. Вставить — O(1)
  2. Удалить — O(1)

Если вы хотите вставить свойство или удалить свойство из объекта, временная сложность является постоянной, что означает O (1). Независимо от того, сколько свойств у вас есть в объекте, удаление и вставка свойства занимает одинаковое количество времени.

3.Доступ — O(1)

Если вы хотите получить доступ к свойству из объекта, он также имеет такую ​​же постоянную временную сложность.

console.log(wizard.firstName)

поэтому, если вы получаете доступ к объекту по заданному ключу, как в примере это firstName, он не зависит от других свойств в объекте.

4. Поиск — O(n)

Однако, если вы хотите найти значение в объекте, его временная сложность является линейной, что означает O (n).

Следующие методы объекта также имеют линейную временную сложность.

  1. Object.keys() — O(n)
  2. Object.values() — O(n)
  3. Object.entries() — O(n)

2. Массивы — большое О

const countries = ['New Zealand', 'Sri Lanka', 'Sweden', 'Australia']
  1. Вставить/удалить в конце — O(1)
  2. Вставить/удалить в начале — O(n)
  3. Доступ — О(1)
  4. Поиск по)
  5. Толкнуть / поп — O (1)
  6. Shift/unshift/concat/slice/splice — O (n)
  7. forEach/карта/фильтр/уменьшение — O(n)

Это обзор временной сложности в массивах и объектах. Увидимся в следующей статье.