根据cppreference(以及C ++标准的要求),std::make_heap()
最多只能进行 3n 次比较,但根据Wikipedia,最多不超过 2n 比较。
看似次优的规格背后的设计考虑因素是什么?
也许存在与交换操作进行比较交易的算法,即可以(平均)以更多比较为代价进行较少的交换吗?
对于那些希望以基于观点的观点结束这篇文章的人:我已按照this recommendation on meta并避免了我们有这样的语言功能?问题,而是确切地问我想知道什么。如果您仍然认为,这是基于意见的,请提出解决方法。