5 algorithm heap min-heap heapsort max-heap
我很难理解为什么找到第k个最小元素的解决方案使用最大堆方法。对于第k个最大元素,使用最小堆方法。使用最小堆来查找第k个最小元素是否更有意义,因为最小元素将始终是根?因此,如果要查找第3个最小的元素,则只需删除根两次,构建堆,然后得到第3个最小的元素。在最大堆中,最小不是根,那么为什么更好使用呢?对于数组中的升序或降序排序也是如此。我看到大多数人使用最大堆来提升。
And*_*kyy 4
事实上,我们可以同时使用 Min 和 Max 堆来查找第 k 个最小元素:
或者
归档时间:
7 年 前
查看次数:
395 次
最近记录: