Total VS Auxiliary space complexity
1. Общая Пространственная Сложность (Total Space Complexity)
- Это суммарное количество памяти, которое алгоритм использует для выполнения задачи.
- Включает:
- Память, занимаемая входными данными (если их нельзя модифицировать на месте).
- Память, занимаемая вспомогательными структурами (Auxiliary Space).
- Память, занимаемая выходным объектом (результатом).
- Формула (концептуально):
$$
\text{Total Space} = \text{Space}(\text{Input}) + \text{Space}(\text{Auxiliary}) + \text{Space}(\text{Output})
$$
2. Вспомогательная пространственная сложность (Auxiliary Space Complexity)
- Это дополнительная память, необходимая алгоритму для выполнения операций, исключая память, занимаемую входом и выходом.
- Включает только память, занимаемая вспомогательными структурами данных (например, хеш-таблицами, стеками, дополнительными массивами, используемыми для промежуточных расчетов).
Рекомендация для Собеседований
- Частый запрос: На собеседованиях обычно просят оценить Вспомогательную пространственную сложность (Auxiliary Space), так как она лучше отражает эффективность самого алгоритма, независимо от размера входных или выходных данных.
- Лучшая практика: уточняйте у интервьюера, какую именно метрику он хочет услышать.