标签: median binary-heap
有没有一种方法可以使用堆来查找未排序数组的中位数?如果有可能,是否比使用排序然后找到中位数更有效?请帮助我。
答案 0 :(得分:1)
这里的技巧是使用两个堆,其中一个是min-heap,另一个是max-heap。我不会详细介绍,但是以下几点足以实现所需的算法。
现在要问第二个问题,只有当您想找到运行中的中值(即每次在数组中插入一个新元素之后才找到中值)时,它才有效。
如果您只想一次计算所有数组元素的中位数,那么排序将是一个好主意。
希望这会有所帮助。