Size: a a a

2020 July 22

CD

Constantine Drozdov in pro.cxx
И если у вас есть какие-то особенности в изменении num - их нет в описанной вами задаче
источник

KO

Konstantin Osipov in pro.cxx
Сорри, но правда не ясно зачем это обсуждение Я описал, что nth_element - это один из вариантов. Вы меня убеждаете в чём-то что не приближает ни к одной из более эффективных альтернатив.
источник

CD

Constantine Drozdov in pro.cxx
Konstantin Osipov
Сорри, но правда не ясно зачем это обсуждение Я описал, что nth_element - это один из вариантов. Вы меня убеждаете в чём-то что не приближает ни к одной из более эффективных альтернатив.
Почему? Я убеждаю вас, что вам надо использовать std::set, в асимптотике оптимально, в константе не оптимальны оба решения. И да, я надеюсь, вы не берёте оценки операций из эзотерики типа fib-heap, потому что на практике это будет binary heap
источник

CD

Constantine Drozdov in pro.cxx
Если вас волнует константа при логарифме при 3 операциях в секунду это правда странно
источник

KO

Konstantin Osipov in pro.cxx
я немного утрировал историю про 3 операции в секунду. я сейчас прикидываю в голове сколько у меня в среднем элементов, изменений в секунду, и запросов срединного элемента чтобы как-то внятно объяснить
источник

CD

Constantine Drozdov in pro.cxx
если вам позарез нужна константа обновления, боюсь вам нужно структуры в духе B-tree согласованных с длиной кэш-линии
источник

CD

Constantine Drozdov in pro.cxx
все константы этих решений в кэш-промахах
источник

KO

Konstantin Osipov in pro.cxx
думаю в моём случае всё же честно сказать что N не будет большим, и nth_element просто выиграет за счёт того что он будет ближе к константе.
источник

CD

Constantine Drozdov in pro.cxx
запрос nth_element у вас всегда О(1)
источник

KO

Konstantin Osipov in pro.cxx
сейчас снова не понял.
источник

CD

Constantine Drozdov in pro.cxx
например, вы храните три раздельные сущности - левее середины, середину и правее середины
источник

CD

Constantine Drozdov in pro.cxx
при изменении элемента двигается не более О(1) элементов
источник

VO

Vyacheslav Olkhovche... in pro.cxx
не, я наверное задачу не понял, но если элементов константа, а изменение порядка +/-1 и сами элементы искать не надо -- то отсорированный масив дает тупо константу.
источник

CD

Constantine Drozdov in pro.cxx
я думал, что эта часть у вас есть, по-другому из хипы середина не достается :)
источник

KO

Konstantin Osipov in pro.cxx
Повторю задачу. Есть N узлов кластера. Это в пределах 10-15 в худшем случае. У каждого узла есть переменная, которая постоянно меняется - его позиция. Она монтонно растёт, это integer. Нужно быстро определять где находится большинство.
источник

VO

Vyacheslav Olkhovche... in pro.cxx
большинство находится выше 0
источник
2020 July 23

CD

Constantine Drozdov in pro.cxx
Konstantin Osipov
Повторю задачу. Есть N узлов кластера. Это в пределах 10-15 в худшем случае. У каждого узла есть переменная, которая постоянно меняется - его позиция. Она монтонно растёт, это integer. Нужно быстро определять где находится большинство.
Задача сильно изменилась и потерялась любая необходимость что-либо оптимизировать, просто храните сортированный массив
источник

KO

Konstantin Osipov in pro.cxx
сортировать его по чему? В какой момент?
источник

VO

Vyacheslav Olkhovche... in pro.cxx
в начале, по порядку
источник

CD

Constantine Drozdov in pro.cxx
Konstantin Osipov
сортировать его по чему? В какой момент?
по тому, для которого середина определяется
источник