Получается, если мы расходуем o(n) дополнительной памяти и, допустим, при этом экономим o(n) процессорного времени
Так не бывает. У вас получается, что устремив расходы памяти в бесконечность, считать ничего не придется.
Понятно, что чем меньше памяти расходуется и чем меньше процессорного времени, тем лучше, но на практике что-то более критично, а что-то менее. Например, если какой-то алгоритм обрабатывает приходящие в реалтайме картинки, то жестким требованием может быть время обработки не более скольких-то миллисекунд, при этом из каких-то других соображений может быть требование, например, не использовать GPU и вообще все считать в одном потоке. Если стоит задача уложиться, скажем, в 50мс, то будет 40 или 20 мс уже не критично, а вот если получается 100мс, но можно снизить время втрое, увеличив потребление памяти, то может быть и в 50 раз больше памяти окажется приемлемым.