Следовательно, у меня есть std::set<int>
и std::list<int>
.
Я хочу, чтобы мой контейнер отсортирован.
Для набора у меня будет сложность, как O(nlogn)
для n
вставленные элементы.
Для списка у меня будет сложность, например O(n)
для вставки n
элементов + O(nlogn)
для звонка list::sort
.
В обоих случаях сложность O(nlogn)
, но есть дополнительные O(n)
операции в случае std::list
. И у меня есть постоянное время для перебалансировки set
.Контейнерная сложность
Вот вопрос, какой контейнер будет работать быстрее?
Невозможно сказать, вам нужно использовать профайлер. –
Вы вставляете элементы только один раз (а затем просто обращаетесь к ним, поскольку вы сортируете список только один раз)? – Jarod42
Вы имеете в виду инструмент gpref? –