Мне любопытно узнать, какой алгоритм лучше:
- Алгоритм с O (n log n) и сложностью пространства O (1)
- Алгоритм с временем O (n) и сложностью пространства O (n)
Большая часть алгоритма, который решается в O (n длительном n) времени и постоянном пространстве, может быть решена в O (n) раз, заплатив штраф в пространстве. Какой алгоритм лучше? Как мне выбрать между этими двумя параметрами?
Пример: сумма пар массива
- Может быть решено в O (n logn) времени, отсортировав
- Может быть решена с использованием хеш-карт в O (n) времени, но с O (n) пространством