[英]Max heap vs Min heap for kth smallest element
我无法理解为什么找到第k个最小元素的解决方案使用Max堆方法。 对于第k个最大元素,一个最小堆方法。 使用min heap来找到第k个最小元素是不是更有意义,因为最小的元素总是root? 因此,如果我们想要找到第3个最小的元素,那么我们只删除根2次,构建堆,然后我们得到第3个最小的元素。 在最大堆中,最小的不在根,所以为什么使用它更好? 对于数组中的升序或降序排序也是如此。 我看到大多数人使用最大堆来提升。
实际上,我们可以使用Min和Max堆来查找第k个最小元素:
要么
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.