Вопрос проверяет умение оценивать производительность алгоритмов и понимать, как растёт время выполнения.
Временная сложность показывает, как растёт время выполнения алгоритма при увеличении входных данных. Обычно используют нотацию Big O, где учитывают только доминирующий фактор роста. Константы и малые члены отбрасываются. Основной фокус — на количестве операций в худшем случае.
Временная сложность (Big O) — это оценка роста количества операций алгоритма в зависимости от размера входных данных n.
Определить, от чего зависит размер входа (n)
Посчитать количество операций
Оставить доминирующий член
Игнорировать константы
arr[0];
for (let i = 0; i < arr.length; i++) {
// операция
}
for (let i = 0; i < n; i++) {
for (let j = 0; j < n; j++) {
// операция
}
}
Вложенные циклы → умножение сложностей
Последовательные циклы → сложность складывается, но остаётся доминирующая
Чаще всего оценивают худший случай
Определение временной сложности — это умение абстрагироваться от деталей реализации и смотреть на рост количества операций при увеличении n.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию