какие соображения дизайна оправдывают, что std :: make_heap () является неоптимальным? - PullRequest
0 голосов
/ 27 июня 2018

Согласно cppreference (и требованиям стандарта C ++) std::make_heap() занимает не более 3n сравнений, но согласно Википедии не более 2n сравнения действительно необходимы.

Каковы конструктивные соображения, если таковые имеются, за явно неоптимальной спецификацией?

Возможно, существуют алгоритмы, которые обменивают сравнения операциями свопа, то есть могут ли (в среднем) делать меньше свопов по цене большего количества сравнений?


Для тех, кто хочет закрыть это как основанное на мнении: Я отредактировал пост, чтобы он не основывался на мнении, следуя этой рекомендации по мета и избегая почему у нас есть такая-то особенность языка? вопрос, но вместо этого я спрашиваю точно, что я хочу знать. Если вы все еще думаете, что это основано на мнении, пожалуйста, предложите, как это можно решить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...