EZ
std::set
? Лучше константа, чем в случае std::set
? От O(N log N)
всё равно никуда не уйдёшьSize: a a a
EZ
std::set
? Лучше константа, чем в случае std::set
? От O(N log N)
всё равно никуда не уйдёшьAT
std::partial_sort
, если все они нужны только в конце один раз. А так — да, понятно. Могут быть случаи, когда на этом сэкономить можно.EZ
std::partial_sort
, если все они нужны только в конце один раз. А так — да, понятно. Могут быть случаи, когда на этом сэкономить можно.m
std::make_heap
, std::push_heap
, std::pop_heap
и std::sort_heap
. А на практике эта куча вообще используется? Она хотя бы в одной задаче надобится? Такое впечатление, что она имеет только теоретический интерес.std::sort
, он там нашел необычное применение куче. =)std::set
уменьшит накладные расходы и должно улучшить локальность для небольших N. Но я тоже ни разу не пользовался std::make_heap
.IB
std::make_heap
, std::push_heap
, std::pop_heap
и std::sort_heap
. А на практике эта куча вообще используется? Она хотя бы в одной задаче надобится? Такое впечатление, что она имеет только теоретический интерес.A
std::sort
, он там нашел необычное применение куче. =)std::set
уменьшит накладные расходы и должно улучшить локальность для небольших N. Но я тоже ни разу не пользовался std::make_heap
.m
make_heap
выдает "слегка отсортированный" массив, что позволило улучшить локальность доступа при дальнейшей честной сортировке. Если это стандартный прием, я о таком никогда не слышал.AT
make_heap
выдает "слегка отсортированный" массив, что позволило улучшить локальность доступа при дальнейшей честной сортировке. Если это стандартный прием, я о таком никогда не слышал.std;:make_heap(std::begin(container), std::end(container));
перед std::sort(std::begin(container), std::end(container));
— это оптимизация? Наверное только для небольших trivially copyable элементовA
AT
A
CD
std;:make_heap(std::begin(container), std::end(container));
перед std::sort(std::begin(container), std::end(container));
— это оптимизация? Наверное только для небольших trivially copyable элементовCD
m
std;:make_heap(std::begin(container), std::end(container));
перед std::sort(std::begin(container), std::end(container));
— это оптимизация? Наверное только для небольших trivially copyable элементовm
CD
m
CD
CD
CD