LogoData Structures & Algorithms

Структуры данных

Массив (Array)

Массив – это упорядоченная коллекция элементов, где каждый элемент имеет свой числовой индекс, начиная с 0. В JavaScript массивы динамические: их размер автоматически изменяется при добавлении или удалении элементов.
Основное преимущество: мгновенный доступ к любому элементу по индексу O(1).
Недостаток: вставка или удаление элементов в середине массива требует сдвига всех последующих элементов, что медленно O(n).

  • Нужен быстрый доступ по индексу (O(1))
  • Данные компактные, важна локальность в памяти
Доступ по индексуO(1)
Линейный поискO(n)
Вставка/удаление в конецамортиз. O(1)
Вставка/удаление в серединеO(n)
ПамятьO(n)
array.ts
1const a = [10, 20, 30];
2a.push(40); // O(1) амортизированно
3const x = a[1]; // O(1)
4console.log(x); // -> 20
5const i = a.indexOf(30); // O(n)
6a.splice(i, 1); // удалить из середины: O(n)
7console.log(a); // -> [10, 20, 40]