К списку вопросов
Основы программированияmiddle

Что такое пространственная сложность?

#память#сложность#рекурсия

Короткий ответ

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

Разбор

Несколько счетчиков занимают O(1) дополнительной памяти, копия массива длины n - O(n). Рекурсивные вызовы тоже занимают место, даже если в коде нет явного вспомогательного массива.

Считают прежде всего одновременно нужные данные, а не просто сумму всех выделений. Фактический пик памяти JavaScript зависит также от работы движка и времени запуска сборщика мусора.

Источники

Pat Morin, Open Data Structures: Временная и пространственная сложность