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