Все эти вещи в других ответах о качестве различных алгоритмов важны и должны учитываться.
Но время и пространство - это две вещи, которые изменяются с некоторой скоростью по сравнению с размером ввода (n). Так что еще может варьироваться в зависимости от п?
Есть несколько, которые связаны с вводом / выводом. Например, количество записей на диск является важным, которое может не отображаться напрямую только с помощью оценок пространства и времени. Это становится особенно важным для флэш-памяти, где число записей в одну и ту же ячейку памяти является существенным показателем в некоторых алгоритмах.
Другой метрикой ввода / вывода будет "болтливость". Сетевой протокол может отправлять более короткие сообщения, чаще добавляя к тому же пространству и времени, что и другой сетевой протокол, но некоторые аспекты системы (возможно, выставление счетов?) Могут привести к минимизации желаемого размера или количества сообщений.
И это подводит нас к стоимости, которая иногда является очень важным алгоритмическим соображением. На стоимость алгоритма могут влиять как пространство, так и время в разных количествах (рассмотрим отдельную стоимость дискового пространства сервера и гигабиты передачи данных), но стоимость - это то, что вы хотите минимизировать в целом, поэтому он может иметь свои собственные оценки Big-O.