随时确定中位数

思路:

设置一个大根堆和一个小根堆,大根堆力求存储N/2部分的小值,小根堆力求存储N/2部分的大值,保持此状态后,哪个堆的值多则中位数就是哪个堆的堆顶元素。

如何保持均衡分布?

每次进入的值和大根堆的堆顶元素比较,当其值大于大根堆时,进入小根堆,当两者的值相差大于等于2时,多的一个堆出堆顶元素赋值给小的堆。、

整个过程对于python可以使用heapq简易实现。

相关文章:

  • 2021-12-24
  • 2021-12-25
  • 2021-11-04
  • 2022-12-23
  • 2022-12-23
  • 2021-07-09
  • 2021-10-14
猜你喜欢
  • 2022-12-23
  • 2021-10-10
  • 2021-08-29
  • 2022-12-23
  • 2022-12-23
  • 2021-08-18
  • 2022-02-05
相关资源
相似解决方案